Anasayfa / PYTHON / Python Döngüler (Loops) ve Örnek Kullanımlar

Python Döngüler (Loops) ve Örnek Kullanımlar

Bir web sitesi, oyun veya yapay zeka aracı geliştiriyor olun, yazdığınız programlarda bazı işlemleri defalarca tekrarlamanız gereken durumlarla mutlaka karşılaşırsınız. Programlama dillerinde, bir kod bloğunun istenen koşullar sağlandığı sürece veya belirli bir sayıda tekrar tekrar çalıştırılmasını sağlayan yapılara döngü (loop) adı verilir. Örneğin, bir sınıftaki tüm öğrencilerin isimlerini tek tek ekrana yazdırmak veya bir şifre doğru girilene kadar kullanıcıya tekrar tekrar şifre sormak için döngüleri kullanırız.

PYTHON DÖNGÜLER EĞİTİM VİDEOMUZ İÇİN TIKLAYIN

Bu kapsamlı rehberimizde, Python programlama dilinde yazılımın en büyük güçlerinden biri olan For ve While döngülerini, iç içe döngü mantığını ve döngü kontrol ifadelerini (break, continue) tamamen yeni başlayanlara hitap edecek günlük hayat örnekleriyle inceleyeceğiz.


1. Belirli Tekrarlar İçin: for Döngüsü

Python’da for döngüsü, genellikle başlangıcı ve bitişi belli olan bir işlem dizisini yürütmek için veya listeler, metinler (string) gibi koleksiyonların elemanları üzerinde tek tek gezinmek (iterasyon) amacıyla kullanılır.

range() Fonksiyonu ile Sayısal Döngüler Kurmak

Döngünün kaç kez tekrar edeceği (başlangıç ve bitiş değerleri) belli olduğunda for döngüsü ile birlikte range() fonksiyonu sıklıkla kullanılır. range() fonksiyonu varsayılan olarak 0’dan başlar ve belirtilen bitiş değerine kadar (bitiş değeri hariç) birer birer artan bir sayı dizisi üretir.

Kullanım Senaryoları:

  • Tek Parametre range(bitiş): for sayilar in range(5): print(sayilar) Bu kod çalıştığında ekrana 0, 1, 2, 3, 4 sayılarını alt alta yazdırır. Döngü 0’dan başlar ve 5’e kadar (5 hariç) devam eder.
  • İki Parametre range(başlangıç, bitiş): for sayilar in range(5, 10): print(sayilar) Bu kodda başlangıç değerini biz belirledik. Çıktı olarak 5, 6, 7, 8, 9 değerleri üretilecektir.
  • Üç Parametre range(başlangıç, bitiş, adım_miktarı): Döngünün kaçar kaçar artacağını veya azalacağını (step) belirleyebiliriz. for sayilar in range(5, 20, 3): print(sayilar) Bu kod 5’ten başlayıp 20’ye kadar 3’er 3’er artar: 5, 8, 11, 14, 17. Dikkat ederseniz 17’den sonraki adım 20’dir ancak bitiş değeri döngüye dâhil olmadığı için 17’de durur.
  • Geriye Doğru Sayma: Eğer adım miktarını negatif bir sayı yaparsanız, döngü geriye doğru sayar. range(20, 5, -3) ifadesi ekrana 20, 17, 14, 11, 8 çıktılarını verir.

in Operatörü ile Metin ve Listelerde Gezinmek

in operatörü, bir metnin (karakter dizisinin) veya bir listenin içindeki elemanları tek tek okumamızı sağlar.

meyveler = ["çilek", "muz", "şeftali"]
for meyve in meyveler:
    print(meyve)

Bu örnekte, döngü listedeki her bir meyveyi sırasıyla “meyve” adlı değişkene atar ve ekrana yazdırır. Aynı işlemi metinler üzerinde uygularsak (for harf in "Döngü":), kelimenin harfleri tek tek D, ö, n, g, ü şeklinde ekrana basılacaktır.


2. Koşula Bağlı Tekrarlar İçin: while Döngüsü

İngilizcede “olduğu sürece” anlamına gelen while döngüsü, test edilen bir ifade (koşul) “Doğru” (True) olduğu sürece altındaki kodları tekrar tekrar çalıştıran bir yapıdır. Genellikle bir işlemin kaç kez tekrar edeceğinin önceden bilinmediği, bir şarta bağlı olduğu durumlarda kullanılır.

Örnek Kullanım:

i = 0
while (i < 5):
    print("Kodlama")
    i = i + 1

Yukarıdaki kodda i değişkenine önce 0 değeri atanmıştır. Python, “i değeri 5’ten küçük mü?” diye kontrol eder. 0 < 5 doğru olduğu için ekrana “Kodlama” yazar ve hemen ardından i‘nin değerini 1 artırarak 1 yapar. Bu işlem i değeri 5 olana kadar devam eder ve ekrana tam 5 kez “Kodlama” yazdırılmış olur.

Sonsuz Döngü (Infinite Loop) Tehlikesi: while döngüsü kullanırken yapılan en yaygın hata, döngüyü sonlandıracak koşulu veya sayacı (i = i + 1 gibi) yazmayı unutmaktır. Eğer koşul sürekli olarak “True” kalırsa, bu duruma sonsuz döngü denir ve programınız siz onu zorla kapatana kadar (örneğin Ctrl+C tuş kombinasyonuyla) sürekli çalışır. while True: kalıbı, aksi belirtilmediği sürece sonsuza kadar çalışan döngüler yaratmak için kullanılır.


3. İç İçe Döngüler (Nested Loops)

Bazı problemleri çözmek için bir döngünün gövdesinin içine başka bir döngü daha yerleştirmeniz gerekebilir. Buna iç içe döngüler adı verilir. Bu yapılarda en önemli kural şudur: Dıştaki (outer) döngünün her bir adımı için, içteki (inner) döngü baştan sona tüm adımlarını tamamlar.

Bunu analog bir saate benzetebilirsiniz. Dıştaki döngü akrep (saat), içteki döngü ise yelkovandır (dakika). Saat bir adım ilerlediğinde, dakika 60 adım atarak bir tam turunu tamamlar.

for i in range(1, 4):
    for j in range(1, 4):
        print(i, j)

Bu örnekte dış döngüdeki i değeri 1 olduğunda, iç döngüdeki j değeri sırayla 1, 2 ve 3 olur. Ekranda sırasıyla (1,1), (1,2), (1,3) yazar. Sonra dış döngü 2’ye geçer ve iç döngü tekrar 1’den başlar. Bu mantık, oyun tahtaları oluşturmak veya çarpım tablosu yapmak için sıklıkla kullanılır.


4. Döngü Akışını Kontrol Etmek: break ve continue

Döngüler normal şartlarda koşul bitene kadar çalışır, ancak bazen içeride gelişen bir olaya göre döngüye acil bir müdahale etmemiz gerekebilir.

  • break Komutu (Döngüyü Kırmak): Programlamada öngörülemeyen bir durum gerçekleştiğinde döngüyü anında sonlandırır ve programın döngüden sonraki satırdan devam etmesini sağlar. for i in range(1, 10): if i == 5: break print(i) Bu kod normalde 1’den 9’a kadar sayacakken, i değeri 5’e eşit olduğu anda break çalışır ve döngü acil çıkış yapar. Ekrana sadece 1, 2, 3 ve 4 yazdırılır.
  • continue Komutu (Adımı Atlamak): break gibi döngüyü tamamen sonlandırmaz; yalnızca döngünün o anki iterasyonunu (adımını) pas geçer ve döngüyü hemen bir sonraki adıma (başa) sarar. Örneğin, bir listedeki çift sayıları atlayıp sadece tek sayıları ekrana yazdırmak için çift sayılara denk gelindiğinde continue komutu uygulanarak o adımın göz ardı edilmesi sağlanır.

5. Python’a Özgü Bir Yapı: Döngülerde else Kullanımı

Diğer birçok programlama dilinde olmayan, Python’a özgü harika bir özellik de döngülerle (for veya while) birlikte else bloğu kullanabilmektir. Karar yapılarından (if-else) aşina olduğumuz else, döngülerde farklı bir amaçla çalışır: Eğer bir döngü hiçbir break komutuna takılmadan, doğal yollarla görevini tamamlayıp biterse else bloğundaki kodlar çalıştırılır. Ancak döngü break ile zorla kırılırsa, else bloğu atlanır. Bu özellik özellikle bir liste içinde belirli bir veriyi aradığımız ve bulamadığımız durumlarda kullanıcıya “Aranan veri bulunamadı” mesajı vermek için çok işlevseldir.

Sonuç: Python programlama dilinde döngüler (Loops), kodlarımızı gereksiz tekrarlardan kurtaran, algoritmaların dinamik ve yetenekli olmasını sağlayan sihirli araçlardır. Temel iterasyonlar için for döngüsünü ve range() fonksiyonunu, koşula bağlı durumlarda ise while döngüsünü ustaca kullanarak karmaşık problemleri sadece birkaç satır kod ile çözebilirsiniz. Yazdığınız kodları kendi Python editörünüzde (IDE) test etmeyi ve bu rehberdeki örnekleri değiştirerek (break ve continue komutlarını farklı yerlere koyarak) denemeyi unutmayın!

Etiketlendi:

Cevap bırakın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir