Programlama dillerinde döngüler, programlarınızın mantık ve akış yapılarını sistematik bir biçimde kontrol etmemize olanak sağlar. Python For döngüsü, bir koşul karşılanana kadar; tekrar tekrar kod bloğunu yürütmektedir.
Programın işleyişinde, çalışma sırası döngü bloğuna geldiği zaman, istenilen koşulların sağlanıp sağlanmadığı kontrol edilir. Koşul sağlandığı takdirde program döngü içine girerek kendini tekrarlamaya başlar.
Kısaca for döngüsünün mantığını açıklayacak olursak; sıralı bir kod bloğunu istenilen sayı kadar tekrar ettirilmesidir.
Örnek for döngüsü kullanımlarına göz atalım.
1’den 10’a kadar olan sayıları yazdırmak istersek:
1 2 | for i in range(1,11): print(i) |
Ekran çıktısı:
1 2 3 4 5 6 7 8 9 10 | 1 2 3 4 5 6 7 8 9 10 |
for döngüsünü kullanırken, fark ettiğiniz üzere kullanmış olduğumuz bir operatör bulunmakta. Bu operatör ” in ” operatörüdür. Döngü içerisinde koşulların sağlanıp sağlanmadığını kontrol edererek, koşul sağlanırsa programa ” True ” değerini döndürmek ve döngüyü başlatması için kullanılır.
range fonksiyonu, for döngüsünün belirli bir aralıkta ne kadar çalışaçağını belirtir. Başlangıç değeri ilk alacağı değerdir. Son değer ise bitiş değeridir. Python dilinde, for döngüsü içerisinde bir sayı aralığı belirttiğimiz zaman, istediğimiz sayıyı da dahil etmek için üzerine bir sayı daha ekleyerek yazdırmamız gerekiyor. (1,11) yerine, (1,10) yazmış olsaydık ekran çıktısında 1 2 3 4 5 6 7 8 9 sayılarını görmüş olacaktık.
range fonksiyonu ile aynı zamanda artış değeri de verebiliriz. Yukarıda ki örnekte de olduğu gibi range fonksiyonunda ilk değer artış, son değer bitiş değeriydi. 3. değer olarak da artış değerini yazmaktayız. 1’den 20’ye kadar olan sayıları 2’şer artarak yazdırmak istersek:
1 2 | for i in range(1, 20, 2): print(i) |
1 2 3 4 5 6 7 8 9 10 | 1 3 5 7 9 11 13 15 17 19 |
30’dan, 3’e kadar, 3’er şekilde azalan sayıları yazdıran bir döngü oluşturalım. Azalan şekild eilerlemesini istiyorsak, range içinde değerimizi eksi yazmamız gerekiyor.
1 2 | for i in range(30, 3, -3): print(i) |
Ekran çıktısı:
1 2 3 4 5 6 7 8 9 | 30 27 24 21 18 15 12 9 6 |
Bir liste içerisinde bulunan elemanları yazdıralım. ilk olarak sehirler adında bir değişken tanımlıyoruz ve içerisinde liste halinde değerleri giriyoruz. Liste tanımlamasını yaptıktan sonra for döngümüzü tanımladıktan sonra program, sehirleri tekrar ederek döndürecek ve ekrana çıktısını verdirecek..
1 2 3 | sehirler = ["Denizli", "Sakarya", "Konya"] for i in sehirler: print(i) |
Ekran çıktısı:
1 2 3 | Denizli Sakarya Konya |
1’den 100’e kadar olan sayıların toplamını for döngüsü içinde alan programı inceleyelim. Program, döngü içerisinde sayıları döndürerek tek tek kendi içerisinde toplayacak. (1+2+3+……+100)
İlk olarak bir toplam değişkeni tanımlıyoruz. Döngü içerisinde sayılar bir değişkene atanarak toplanma yaptıracağı için değişkene 0 değerini veriyoruz.
Ardından for döngümüzü oluşturuyoruz ve range fonksiyonu ile sayı aralığını veriyoruz.
For döngüsü içerisinde yapılacak olan işleme geldiğimizde, döngü içerisinde döndürülen sayıları toplam değişkeninde toplatıyoruz.
1 2 3 4 | toplam = 0 for i in range(1,100): toplam += i print(toplam) |
Ekran çıktısı:
1 | 4950 |
Son olarak farklı bir örneği inceleyelim. Klavyeden girilen bir kelimeyi, for döngüsü içinde döndürerek harf harf yazdıralım.
İlk başta kullanıcıdan veri girişi almamız gerekiyor. Kullanıcıdan veri girişi almayı bilmiyorsanız BURAYA tıklayarak veri girişi alma konumuzu okuyabilirsiniz. input fonksiyonu ile kullanıcıdan bir kelime girmesini istiyoruz.
Ardından for döngüsü içerisinde, döngü elemanı kendisinden başlayıp kelimeyi döndürecek.
1 2 3 | kelime = input("Bir kelime giriniz = ") for harf in kelime: print(harf) |
1 2 3 4 5 6 7 8 9 10 11 12 | Bir kelime giriniz = kod kampüsü k o d k a m p ü s ü |