Programlamada en temel ve güçlü kavramlardan biri olan döngüler, belirli işlemleri tekrar tekrar yapmamızı sağlar. Python'da for döngüsü, özellikle bir koleksiyonun (liste, demet, sözlük, string vb.) elemanları üzerinde gezinmek için kullanılan en yaygın yapıdır.
Python'da for döngüsünün temel sözdizimi oldukça basittir:
for eleman in koleksiyon:
# Yapılacak işlemler
Bir liste üzerinde dolaşalım:
meyveler = ["elma", "armut", "çilek", "muz"]
for meyve in meyveler:
print(f"Bugün {meyve} yedim")
range() fonksiyonu ile belirli aralıklarda döngü oluşturabiliriz:
for i in range(5):
print(i) # 0, 1, 2, 3, 4
for i in range(2, 6):
print(i) # 2, 3, 4, 5
for i in range(0, 10, 2):
print(i) # 0, 2, 4, 6, 8
for harf in "Python":
print(harf) # P, y, t, h, o, n
ogrenci = {"isim": "Ahmet", "yas": 20, "bolum": "Bilgisayar"}
for anahtar in ogrenci:
print(anahtar)
for anahtar, deger in ogrenci.items():
print(f"{anahtar}: {deger}")
Hem indeks hem de değere aynı anda erişmek için:
meyveler = ["elma", "armut", "çilek"]
for indeks, meyve in enumerate(meyveler):
print(f"İndeks {indeks}: {meyve}")
Birden fazla listeyi aynı anda dolaşmak için:
isimler = ["Ali", "Ayşe", "Mehmet"]
notlar = [85, 90, 78]
for isim, notu in zip(isimler, notlar):
print(f"{isim}: {notu}")
for sayi in range(10):
if sayi == 3:
continue # 3'ü atla
if sayi == 7:
break # 7'de döngüyü bitir
print(sayi)
Python'da for döngülerini tek satırda yazmanın pratik yolu:
kareler = [x**2 for x in range(5)]
# Sonuç: [0, 1, 4, 9, 16]
cift_sayilar = [x for x in range(10) if x % 2 == 0]
# Sonuç: [0, 2, 4, 6, 8]
Bir öğrenci not listesinden geçme notunu hesaplayalım:
notlar = [45, 80, 32, 90, 55, 70]
gecti = 0
kaldi = 0
for notu in notlar:
if notu >= 50:
gecti += 1
else:
kaldi += 1
print(f"Geçen öğrenci sayısı: {gecti}")
print(f"Kalan öğrenci sayısı: {kaldi}")
Python'daki for döngüsü, diğer birçok programlama diline göre daha esnek ve okunabilirdir. Koleksiyon tabanlı bu yaklaşım, günlük programlama ihtiyaçlarının büyük çoğunluğunu karşılayacak kadar güçlüdür.
💡 İpucu: Python'da for döngülerini mümkün olduğunca "Pythonic" (Python'a özgü) şekilde yazmaya çalışın. List Comprehension ve yerleşik fonksiyonlar kodunuzu daha temiz ve verimli hale getirecektir.