logo
12 KASIM 2025


Python 112 - For ve While döngüleri

30.05.2021 00:00:00

Python 112 - For ve While döngüleri

Merhaba,

Programlarımızda bazen aynı şeyi tekrar tekrar yapmamız gerekir. Her seferinde aynı kodu alt alta daktilodaymışız gibi uzun uzun yazmak yerine programlama dillerinde bu tekrarı kontrol eden ve düzenleyen yapılar mevcuttur. Bunlara loop yahut döngü de denir. Pythonda for ve while olmak üzere hepi topu 2 döngü çeşidi vardır.

for döngüsü

For döngüsü, ona sunduğumuz bir liste ya da sayı aralığının her bir elemanı üzerinde sırayla gezmemizi, her bir liste elemanına ya da aralıktaki sayıya istediğimiz işlemi yapmamızı sağlar. Mesela ekip adında bir isim listemiz olsun ve listedeki herkese merhaba demek isteyelim:

    ekip = ["Ali", "Mehmet", "Ahmet"]

    for kişi in ekip:
      print("Merhaba " + kişi)

    # Merhaba Ali
    # Merhaba Mehmet
    # Merhaba Ahmet

Önce ekip listemizi tanımladık. Sonra for yapısına geliyoruz. Burada for kelimesinden sonra, her seferinde sıradaki elemanın değerini taşıyacak bir değişken ismi vermemiz gerekiyor. Bu örnekte ona kişi demişiz, siz istediğinizi yazabilirsiniz. Sonra in kelimesini, en sonda da ana listemizin ismini veriyoruz. Tekrar eden işlemleri alt satırdan itibaren tarif etmek üzere de iki nokta üst üste : ile satırı bitiriyoruz. Aşağıdaki satırı biraz içeriden başlatıyoruz. Bunu yapmazsak olmaz, blok tanımlamamış oluruz ve zaten kodumuz da çalışmaz. Bunu daha önce görmüştük, Pythonda bloklar girintilerle belirleniyordu, unutmayalım.

for döngüsü, bu listedeki elemanların her birini sırayla kişi değişkenimize koyuyor. Biz de kişi değişkenindeki ismin başına Merhaba yapıştırıp ekrana basıyoruz. Programı çalıştırdığımızda kişi değişkeni ilk olarak Ali olur, ekrana "Merhaba Ali" yazılır. Bir sonraki döngüde artık kişi değişkeninde Mehmet olacaktır ve ekrana "Merhaba Mehmet" yazılır, bu şekilde gider…

Başka bir örnek:

    for harf in "Ali":
      print(harf)

    # A
    # l
    # i  

Ali sözcüğünün elemanları neler? Tabi ki Ali'deki her bir harf. O zaman burada ekrana tek tek A yazılır, l yazılır ve i yazılır. Çünkü for komutu her yeni döngüde harf değişkenine bir sonraki elemanı atamaktadır. Son bir örnek de sayılarla olsun:

    for i in range(1,10):
      print(i*i)

    # 1
    # 4
    # 9
    # ...

Burada range fonksiyonunun elemanları neler, 1 den 10 a kadar sayılar. O halde döngü içindeki print komutunda i lerin değerleri sırasıyla 1, 2, 3… olacaktır.

while döngüsü

Elimizde çoğul bir yapıdan ziyade devam eden ya da değişen bir durum var ise while yapısını kullanmamız uygundur. Yani bir duruma bağlı olarak tekrar etmesini istediğimiz işlemler için while kullanılır. Dolayısıyla for daki gibi, tekrar sayısını önceden bilmemiz de mümkün olmayacaktır.

    sıcaklık = 12

    while sıcaklık < 20 :
      print(sıcaklık)
      sıcaklık = sıcaklık + 5

    print("son")
    # 12
    # 17

İlk başta sıcaklık değişkenimize 12 değerini atıyoruz. while yapısına geldik. while kelimesinden sonra bir test yapıyoruz. sıcaklık < 20 mi diye. Bu koşul geçerliyse (yani True ise) girintili blokta yazılan işlemler yapılacak. İki nokta üst üste : işareti de bunu anlatıyor aslında.

İlk durum kontrolümüzde sıcaklık < 20 ifadesi True sonucu verir çünkü 12 < 20 dir. Ekrana o anki sıcaklık değeri olarak 12 yazılır. Döngünün 2. ve son komutuyla sıcaklık 5 derece arttırılır ve tekrar döngünün başına gidilir. Durum kontrolünde bu sefer sıcaklık 17 derecedir ve yine 17 < 20 olduğundan iki nokta üst üste bloğu çalışır ve ekrana 17 yazlır. Sıcaklık 5 artar ve 22 olur. Ama bu sefer 22 < 20 ifadesi False olacağından artık while bloğuna girilmeyecektir ve ekrana "son" yazılarak program sona erdirilir.

Programlamada tekrar blokları önemli bir yer tutar. O yüzden bu dersimizi iyice hazmetmek için kendiniz de denemeler yapmayı ihmal etmeyin. Tekrar görüşmek dileklerimle…

Yorumlar
Yorum bulunmuyor.
Yorumlarınızı paylaşın

--
 
Nahit Taşpınar / diğer yazıları
Özeller'in yargılandığı davada karar çıktı
Orkun Özeller için tahliye kararı
'Emlak vergilerindeki artış kabul edilemez'
Erdoğan'dan önemli mesajlar
Dervişoğlu grup toplantısında konuştu
'Birilerinin isteğiyle yargılamalar yapılıyor'
Şehit Üsteğmen Kandemir'in babası:
"Vatan için varız, evladım da vatan için şehit oldu"
İşte 20 şehidimizin isimleri
MSB'den resmi açıklama geldi
Şehitlerin şehadet haberi Kayseri'deki ailelerine verildi
Evlere Türk bayrakları asıldı
İsrail'de, Filistin asıllı milletvekiline saldırı girişimi
Şişe fırlattılar, hakaretler savurdular
Uçakta 20 personel vardı
Gürcistan’da düşen askeri kargo uçağının parçalarına ulaşıldı
Acil durum sinyali göndermedi
Düşen askeri uçakla ilgili ilk somut açıklama
Türkiye'ye ait kargo uçağı düştü
'Rabbim şehitlerimize rahmet eylesin'
Özgür Özel, CHP grup toplantısında konuştu
'30 ayda 4 bin 836 kişi iş kazalarında öldü'
İBB iddianamesi tamamlandı
İmamoğlu'na 2 bin 352 yıl isteniyor
Mısır Dışişleri Bakanı, Türkiye'yi ziyaret edecek
İkili ilişkiler ve bölgesel sorunlar ele alınacak
Erzincan İliç maden kazasının 4. duruşması başladı
Sanıklar için 2 yıldan 15 yıla kadar hapis isteniyor
Deprem ve yargıda geldiğimiz nokta: 6 yıl sonra mütalaa açıklandı
Kartal'da çöken Yeşilyurt Apartmanı'nda 21 kişi hayatını kaybetmişti
Özeller'in yargılandığı davada karar çıktı
Orkun Özeller için tahliye kararı
'Emlak vergilerindeki artış kabul edilemez'
Erdoğan'dan önemli mesajlar
Dervişoğlu grup toplantısında konuştu
'Birilerinin isteğiyle yargılamalar yapılıyor'
Şehit Üsteğmen Kandemir'in babası:
"Vatan için varız, evladım da vatan için şehit oldu"
İşte 20 şehidimizin isimleri
MSB'den resmi açıklama geldi
Şehitlerin şehadet haberi Kayseri'deki ailelerine verildi
Evlere Türk bayrakları asıldı
İsrail'de, Filistin asıllı milletvekiline saldırı girişimi
Şişe fırlattılar, hakaretler savurdular
Uçakta 20 personel vardı
Gürcistan’da düşen askeri kargo uçağının parçalarına ulaşıldı
Acil durum sinyali göndermedi
Düşen askeri uçakla ilgili ilk somut açıklama
Türkiye'ye ait kargo uçağı düştü
'Rabbim şehitlerimize rahmet eylesin'
Özgür Özel, CHP grup toplantısında konuştu
'30 ayda 4 bin 836 kişi iş kazalarında öldü'
İBB iddianamesi tamamlandı
İmamoğlu'na 2 bin 352 yıl isteniyor
Mısır Dışişleri Bakanı, Türkiye'yi ziyaret edecek
İkili ilişkiler ve bölgesel sorunlar ele alınacak
Erzincan İliç maden kazasının 4. duruşması başladı
Sanıklar için 2 yıldan 15 yıla kadar hapis isteniyor
Deprem ve yargıda geldiğimiz nokta: 6 yıl sonra mütalaa açıklandı
Kartal'da çöken Yeşilyurt Apartmanı'nda 21 kişi hayatını kaybetmişti
logo

Beşyol Mah. 502. Sok. No: 6/1
Küçükçekmece / İstanbul

Telefon: (212) 624 09 99
E-posta: internet@yenimesaj.com.tr gundogdu@yenimesaj.com.tr


WhatsApp iletişim: (542) 289 52 85


Tüm hakları Yeni Mesaj adına saklıdır: ©1996-2025

Yazılı izin alınmaksızın site içeriğinin fiziki veya elektronik ortamda kopyalanması, çoğaltılması, dağıtılması veya yeniden yayınlanması aksi belirtilmediği sürece yasal yükümlülük altına sokabilir. Daha fazla bilgi almak için telefon veya eposta ile irtibata geçilebilir. Yeni Mesaj Gazetesi'nde yer alan köşe yazıları sebebi ile ortaya çıkabilecek herhangi bir hukuksal, ekonomik, etik sorumluluk ilgili köşe yazarına ait olup Yeni Mesaj Gazetesi herhangi bir yükümlülük kabul etmez. Sözleşmesiz yazar, muhabir ve temsilcilere telif ödemesi yapılmaz.