PYTHON FOR DÖNGÜSÜ
Birden çok tekrar eden işlemi yerine getirmek için kullanılır. Yani programımızın birden fazla çalışmasına sebep olur. Örnek üzerinden biraz daha iyi anlamaya çalışalım. Programlama dersimizin olduğunu düşünelim. Öğretmen sınıf içi etkinliğe katılan 5 öğrencinin notlarına ekstra 10 puan ekleyeceğini söylemiştir. Bu görevi yerine getirmek için bizi seçmiştir. İlk olarak etkinliğe katılan kişilerin sınavdan almış oldukları notları öğretmenimizden rica ederiz.
notlar = [75, 48, 55, 64, 79]
Öğretmenimiz yukarı da olduğu gibi etkinliğe katılan öğrencilerin almış oldukları notları bize söylediğini düşünelim. Görevimiz eğitime katılan öğrencilerin notlarına 10 puan eklemektir. Problemimizi for döngüsü kullanmadan yapalım.
print(notlar[0] + 10)
print(notlar[1] + 10)
print(notlar[2] + 10)
print(notlar[3] + 10)
print(notlar[4] + 10)
Çıktı
85
58
65
74
89
Sonuç olarak for döngüsü kullanmadan problemimizi çözmüş olduk. Etkinliğe katılan kişi sayısı az olduğu için bizi yormadı. Peki etkinliğe katılan kişi sayısı 5 kişi değil de 50 kişi olsaydı. Yukarı da yaptığımız gibi mi çözüm yolu üretecektik? 50 kişinin notlarını tek tek 10 puan ekleme işlemini elle yapmak zorunda kalacaktık. Gözümüzü korkutmadı değil bu olay. Bu durum da for döngüsü bizim imdadımıza yetişiyor. For döngüsü kullanarak birden çok tekrar eden aynı işlemi bir kaç satır kod ile halledebiliriz. Çözmüş olduğumuz problemi for döngüsü yardımıyla çözmeye çalışalım.
notlar = [75, 48, 55, 64, 79]
for puan in notlar:
print(puan + 10)
Çıktı
85
58
65
74
89
Döngü kullanmadan yaptığımız çözüm ile aynı sonuçları verdiğini gözlemleyebiliyoruz. Peki for döngüsünün çalışma mantığı nedir?
for değişken_adı in değişken:
yapılacak_işlem
Bu ifadeyi Türkçe olarak ifade edelim:
notlar adlı değişkenimizin her bir elemanını değişken_adı olarak adlandır:
değişken_adı olarak adlandırılan öğelere 10 ekle ve ekrana yazdır.
Böylelikle problemimizin çözümünü iki satır kod ile yapmış bulunmaktayız. Biraz daha örnek çözerek pekiştirelim. Şimdi ise elimiz de bulunan 7 adet sayının karesini ekrana yazdıralım.
sayi = [2, 8, 10, 5, 18, 45, 100]
for karesi in sayi:
print(karesi**2)
Çıktı
4
64
100
25
324
2025
10000
İşleri biraz karmaşık hale getirelim. Problemimiz şu şekildedir: 10 adet sayının sadece çift olanlarını ekrana yazdıralım.
sayi = [4, 7, 11, 16, 8, 9, 5, 21, 36, 81]
for cift in sayi:
if cift % 2 == 0:
print(cift)
Çıktı
4
16
8
36
10 adet sayının toplamını ve çarpımını bulalım:
sayi = [4, 7, 11, 16, 8, 9, 5, 21, 36, 81]
toplam = 0
carpim = 1
for islem in sayi:
toplam += islem
carpim *= işlem
print(" Toplam: {} \n Çarpım: {}".format(toplam, carpim))
Çıktı
Toplam: 198
Çarpım: 108637562880
Kullanıcının girmiş olduğu 6 adet sayının toplamını ekrana yazdıran kodu yazalım:
toplam = 0
for i in range(6):
sayilar = int(input("Sayı giriniz: "))
toplam += sayilar
print(toplam)
Kullanıcı etkileşimi ile alınan sayılar
Sayı giriniz: 5
Sayı giriniz: 4
Sayı giriniz: 3
Sayı giriniz: 10
Sayı giriniz: 2
Sayı giriniz: 4
Çıktı
28
0 yorum