avatar
Kalem_Kagit
10 puan • 15 soru • 18 cevap
✔️ Cevaplandı • Doğrulandı

Python while döngüsü

While döngüsünün for döngüsünden farkını tam olarak anlayamadım. Ne zaman while kullanmam gerektiğini ve döngüden nasıl çıkacağımı karıştırıyorum. Ayrıca sonsuz döngüye girme korkusuyla pratik yapmakta zorlanıyorum.
WhatsApp'ta Paylaş
1 CEVAPLARI GÖR
✔️ Doğrulandı
0 kişi beğendi.
avatar
Cevap Bekliyor
1490 puan • 120 soru • 105 cevap

Merhaba sevgili kod meraklıları ve geleceğin yazılımcıları! 👋 Ben içerik üreticiniz, ve bugün Python'ın en temel, en güçlü yapılarından birini, yani while döngüsünü mercek altına alıyoruz. Hazır mısınız? Çünkü bu ders notları, sadece bilgi vermekle kalmayacak, aynı zamanda görsel olarak da gözünüze hitap edecek!

Bugünkü konumuz, programlarınızda belirli bir koşul doğru olduğu sürece tekrar tekrar çalışmasını istediğiniz kod blokları için vazgeçilmez bir araç: Python while döngüsü. Hadi başlayalım!

💡 Python while Döngüsü Nedir?

While döngüsü, belirli bir koşul doğru (True) olduğu sürece bir kod bloğunu tekrar tekrar yürüten bir kontrol yapısıdır. Koşul yanlış (False) olduğunda döngü sona erer ve program akışı döngüden sonraki ilk satıra geçer.

🎯 Neden while Döngüsü Kullanırız?

  • 🔄 Tekrar Eden Görevler: Bir işlemi belirli bir koşul sağlanana kadar tekrar etmeniz gerektiğinde.
  • 🔢 Belirsiz İterasyon Sayısı: Kaç kez döngüye gireceğinizi önceden bilmediğiniz durumlarda, örneğin kullanıcıdan geçerli bir giriş alana kadar beklemek gibi.
  • Bekleme Mekanizmaları: Bir olayın gerçekleşmesini beklerken sürekli kontrol etmek için.

📝 while Döngüsünün Temel Yapısı (Sözdizimi)

while döngüsünün temel sözdizimi oldukça basittir:

while koşul:
    # Koşul doğru olduğu sürece çalışacak kod bloğu
    # Döngüyü sonlandıracak veya koşulu değiştirecek bir ifade

Örnek Uygulama: Geri Sayım

Şimdi basit bir geri sayım örneği ile bu yapıyı daha yakından inceleyelim:

sayac = 5
while sayac > 0:
    print(sayac)
    sayac = sayac - 1 # veya sayac -= 1
print("Fırlatma!")

Bu kod bloğu çalıştırıldığında çıktısı şöyle olacaktır:

5
4
3
2
1
Fırlatma!

🔎 Örnek Açıklaması:

  • 🔢 sayac = 5: Bir sayaç değişkeni tanımladık ve başlangıç değerini 5 olarak belirledik.
  • 👉 while sayac > 0:: Bu bizim koşulumuz. Sayaç 0'dan büyük olduğu sürece döngü devam edecek.
  • 🚀 print(sayac): Döngünün her adımında sayacın mevcut değerini ekrana yazdırırız.
  • 📉 sayac = sayac - 1: Bu satır kritiktir! Sayaç değerini her adımda 1 azaltıyoruz. Eğer bu satır olmasaydı, sayac değeri hiç değişmeyeceği için döngü sonsuz döngüye girerdi.
  • 🛑 print("Fırlatma!"): Koşul (sayac > 0) yanlış olduğunda (yani sayac 0 olduğunda), döngü sona erer ve bu satır çalışır.

⚠️ Sonsuz Döngülerden Kaçınmak

while döngüsü kullanırken en dikkat etmeniz gereken nokta, döngünün bir noktada mutlaka sona ereceğinden emin olmaktır. Aksi takdirde, programınız kilitlenebilir ve sonsuz bir döngüye girer. Bunun için:

  • ✅ Koşulu etkileyen bir değişkeni döngü içinde mutlaka güncelleyin (yukarıdaki sayac = sayac - 1 gibi).
  • ❌ Koşulun her zaman True kalmasına neden olacak hatalardan kaçının.

🛠️ Döngü Kontrol Deyimleri: break ve continue

Bazen döngü içinde özel durumlarla karşılaşırız ve döngünün normal akışını değiştirmek isteriz. İşte bu noktada break ve continue anahtar kelimeleri devreye girer.

🚪 break Anahtar Kelimesi

  • Görevi: break anahtar kelimesi, içinde bulunduğu döngüyü anında sonlandırır. Program akışı döngüden hemen sonraki ilk satıra geçer.
  • 💡 Kullanım Alanı: Belirli bir koşul sağlandığında döngüden tamamen çıkmak istediğinizde.

Örnek: Kullanıcıdan "çıkış" yazana kadar sayı alalım.

while True:
    giris = input("Bir sayı girin (çıkmak için 'çıkış' yazın): ")
    if giris == "çıkış":
        break # Koşul doğru olsa bile döngüyü sonlandır
    print("Girilen sayı:", giris)
print("Döngüden çıkıldı.")

continue Anahtar Kelimesi

  • ↪️ Görevi: continue anahtar kelimesi, döngünün mevcut iterasyonunu atlar ve bir sonraki iterasyona geçer. Yani, continue'dan sonraki kod satırları bu iterasyonda çalışmaz.
  • 💡 Kullanım Alanı: Belirli bir koşul sağlandığında döngünün geri kalanını atlayıp bir sonraki adıma geçmek istediğinizde.

Örnek: Tek sayıları atlayıp sadece çift sayıları yazdıralım.

sayi = 0
while sayi < 10:
    sayi += 1
    if sayi % 2 != 0: # Eğer sayı tek ise
        continue # Bu iterasyonu atla, bir sonraki adıma geç
    print(sayi)
print("Döngü tamamlandı.")

Bu kod çalıştırıldığında çıktısı şöyle olacaktır:

2
4
6
8
10
Döngü tamamlandı.

while-else Yapısı

Python'da while döngülerine bir else bloğu da ekleyebilirsiniz. Bu else bloğu, döngü koşulu False olduğunda (yani döngü normal bir şekilde sona erdiğinde) çalışır. Eğer döngü bir break ifadesiyle sonlandırılırsa, else bloğu çalışmaz.

🌟 Örnek: Sayı Bulma Oyunu

hedef_sayi = 7
tahmin_hakki = 3

while tahmin_hakki > 0:
    tahmin = int(input("1-10 arası bir sayı tahmin et: "))
    if tahmin == hedef_sayi:
        print("Tebrikler! Doğru tahmin!")
        break
    else:
        tahmin_hakki -= 1
        print(f"Yanlış tahmin. Kalan hakkınız: {tahmin_hakki}")
else:
    print(f"Maalesef hakkınız bitti. Doğru sayı {hedef_sayi} idi.")

🚀 Özet ve Son Bakış

Bugün Python'ın while döngüsünü, temel yapısını, neden ve nasıl kullanıldığını, break ve continue gibi kontrol deyimlerini ve hatta else bloğu ile kullanımını detaylıca inceledik. Unutmayın, pratik yapmak bu konuyu pekiştirmenin en iyi yoludur!

Anahtar Çıkarımlar:

  • 💡 while döngüsü: Bir koşul doğru olduğu sürece kodu tekrar tekrar çalıştırır.
  • 🛑 Sonsuz döngüden kaçın: Koşulu etkileyen değişkeni döngü içinde mutlaka güncelle!
  • 🚪 break: Döngüyü tamamen sonlandırır.
  • continue: Mevcut iterasyonu atlar, bir sonraki iterasyona geçer.
  • else bloğu: Döngü normal yolla (break olmadan) bittiğinde çalışır.

Umarım bu ders notları, while döngüsünü anlamanıza ve projelerinizde etkili bir şekilde kullanmanıza yardımcı olmuştur. Bir sonraki derste görüşmek üzere, bol kodlu günler!

✨ Hoşça kalın ve üretmeye devam edin! ✨

Yorumlar