Ders Notu
for
for; while gibi bir döngüdür. Yani tıpkı while döngüsünde olduğu gibi, kod bloklarının ve programların birden fazla kez çalışmasını sağlar. for döngüsü while döngüsüne göre biraz daha yeteneklidir.
for döngüsünün çalışabilmesi için liste, demet ya da sözlükten birine ihtiyaç vardır. Bunlardan hangisi varsa for döngüsü ile elemanları sırasıyla yakalanarak istenilen işleme tabi tutulabilir.
while ile yapılabilecek bir işlem çoğu zaman for ile de yapılabilir ancak bu döngülerin belirli durumlar için tek seçenek olduğu durumlar da vardır.
Örnekler:
Örnek 1:
for i in range(9):
print(i)
Ekran Çıktısı:
0
1
2
3
4
5
6
7
8
Örnek 1'de görüleceği üzere for döngüsünün daha sade bir yapısı vardır. Tıpkı while ifadesinde olduğu gibi döngüye bağlı olarak tekrar etmesi istenen satırlar girintili yazılmalıdır. Örnek 1'deki kodlara yakından bakacak olursak:
- for i in range(9): ifadesi i'nin değer olarak in komutundan sonra verilen dizinin elemanlarını sırayla almasını sağlar, bu örnek için range(9).
- range(x) fonksiyonu, varsayılan olarak 0'dan başlayan ve yine varsayılan olarak 1 birim artan bir sayı dizisi döndürür ve belirtilen bir sayıda (x) biter. Burada dikkat edilmesi gereken nokta range() fonksiyonun son elemanının x-1 olmasıdır.
- for döngüsü ile; 0'dan 8'e kadar olan rakamları barındıran sayı dizisinin her tur sırası gelen elemanı i değişkenine otomatik olarak atanır ve print(i) komutu da i değişkenin güncel değerini ekrana yazdırır. Örnek 2'de range() fonksiyonun farklı bir kullanımına örnek verilmiştir.
Örnek 2:
for i in range(1,9,2):
print(i)
Ekran Çıktısı:
1
3
5
7
range() fonksiyonu tek bir parametre alabileceği gibi bu örnekte olduğu gibi birden çok parametre de alabilir. Bu parametreler sırasıyla başlangıç değerini, ulaşılmak istenen değeri ve değişim mikarını temsil eder.
İlerleyen örneklerde metinsel verilerden oluşan listelerin for ile kullanımı gösterilmiştir
Örnek 3:
meyveler = ["elma", "muz", "kiraz"]
for i in meyveler:
print(i)
Ekran Çıktısı:
elma
muz
kiraz
Örnek 4:
metin = "gazi"
for i in metin:
print(i)
Ekran Çıktısı:
g
a
z
i