while
döngüsü, Python’da programlarınızın akışını kontrol etmek için güçlü bir araçtır. Önceden tanımlanmış bir dizi üzerinde yineleme yapan for
döngülerinin aksine, while
döngüleri belirtilen bir koşul doğru olduğu sürece yürütmeye devam eder. Bu, yineleme sayısı önceden bilinmediğinde özellikle yararlıdır.
İçerik Tablosu
- Temel While Döngüsü Yapısı
- Döngü Yürütmeyi Kontrol Etme:
break
vecontinue
while-else
Yapısı- Uygulama Örnekleri
- Sonsuz Döngülerden Kaçınma
Temel While Döngüsü Yapısı
Bir while
döngüsünün temel sözdizimi basittir:
while koşul:
# Tekrar tekrar yürütülecek kod
# ...
koşul
her yinelemeden önce değerlendirilir. True
olarak değerlendirilirse, girintili kod bloğu yürütülür. False
olarak değerlendirilirse, döngü sonlanır ve program döngüyü izleyen deyimlere devam eder.
Döngü Yürütmeyi Kontrol Etme: break
ve continue
break
ve continue
deyimleri, döngü davranışı üzerinde ince ayarlı kontrol sağlar:
break
: Koşula bakılmaksızın döngüden hemen çıkar.continue
: Geçerli yinelemenin geri kalanını atlar ve bir sonraki yinelemeye geçer.
count = 0
while count < 5:
count += 1
if count == 3:
continue # 3'ü yazdırmayı atla
print(count)
while count < 10:
count += 1
if count == 7:
break # count 7 olduğunda döngüden çık
print(count)
while-else
Yapısı
Python’ın while
döngüsü, isteğe bağlı bir else
bloğunu benzersiz bir şekilde destekler. Bu else
bloğu, yalnızca döngü *doğal olarak* tamamlandığında—yani döngü koşulu False
olduğunda—yürütülür. Çok önemli olarak, else
bloğu, döngü bir break
deyimi kullanılarak sonlandırılırsa yürütülmez. Bu, döngü kesintiye uğramadan bittiğinde bir işlem gerçekleştirmeniz gereken durumları ele almanın temiz bir yolunu sağlar.
count = 0
while count < 5:
print(count)
count += 1
else:
print("Döngü normal olarak tamamlandı!")
count = 0
while count < 5:
if count == 3:
break
print(count)
count += 1
else:
print("Döngü normal olarak tamamlanmadı!") # Bu yazdırılmayacak
Uygulama Örnekleri
İşte while
döngülerinin pratik kullanımlarını gösteren birkaç örnek:
Örnek 1: Kullanıcı Girişi Doğrulama
while True:
try:
age = int(input("Yaşınızı girin: "))
if age >= 0:
break # Geçerli yaş girildiyse döngüden çık
else:
print("Yaş negatif olamaz.")
except ValueError:
print("Geçersiz giriş. Lütfen bir sayı girin.")
print(f"Yaşınız: {age}")
Örnek 2: Geri Sayım Simülasyonu
import time
countdown = 10
while countdown > 0:
print(countdown)
time.sleep(1) # 1 saniye bekle
countdown -= 1
print("Fırlatma!")
Sonsuz Döngülerden Kaçınma
while
döngülerinde yaygın bir tuzak, sonsuz döngü oluşturmaktır—hiç sonlanmayan bir döngü. Bu genellikle döngü koşulu asla False
olmadığında olur. Döngü koşulunuzun sonunda False
olarak değerlendirileceğinden emin olun. Döngünüzün mantığını dikkatlice inceleyin ve koşulu etkileyen değişkenlerin döngü gövdesi içinde uygun şekilde güncellendiğinden emin olun.