Menu
Coddy logo textTech

While Döngüsü

Coddy'nin Python Journey'sinin Fundamentals bölümünün bir parçası. Ders 36 / 77.

Bir while döngüsü for döngüsünden farklıdır. for döngüsü belirli bir range üzerinde yineleme yapmamızı sağlarken, while döngüsü belirli bir condition sağlandığı sürece yinelemeye devam etmemizi sağlar.

Bir while döngüsü kullanmak için şunu yazın:

while condition:
	code

Kod yalnızca `condition` True olduğunda çalışacaktır.

Condition genellikle <= (küçük veya eşit), >= (büyük veya eşit), < (küçük), > (büyük) veya == (eşit) gibi karşılaştırma operatörleri kullanılarak oluşturulur. Döngü, bu karşılaştırma True sonucunu verdiği sürece çalışmaya devam eder ve False olduğu anda durur.

Döngü gövdesi içinde, genellikle kontrol edilen değişkeni güncellemeniz (update) gerekir. Bu işlem += (ekle ve ata), -= (çıkar ve ata), *= (çarptır ve ata) veya /= (böl ve ata) gibi artırılmış atama operatörleri ile yapılır. Örneğin, x *= 2 ifadesi x = x * 2 için bir kısayoldur. Değişken güncellenmezse, koşul asla değişmez ve döngü sonsuza kadar çalışır.

Bir while döngüsünün problemi çözeceği ancak for döngüsünün çözemeyeceği birçok kullanım durumu vardır.

Örneğin şu problemi ele alalım:

Verilen bir sayıdan büyük olan en küçük 2'nin kuvvetini bulun.

Çözmek için, 2'nin mevcut kuvvetini verilen sayıdan büyük olana kadar tekrar tekrar 2 ile çarpacak bir while döngüsü kullanacağız:

number = 27
power_of_two = 1

while power_of_two <= number:
    power_of_two *= 2

print(power_of_two)

Burada, power_of_two <= number bir karşılaştırma operatörü kullanan `condition` (koşul) kısmıdır ve power_of_two *= 2 her yinelemede artırılmış atama operatörü kullanarak `variable`'ı günceller. power_of_two, number değerini aştığında, `condition` False haline gelir ve `loop` durur.

challenge icon

Görev

Başlangıç

Bir adet float türünde number girdisi alan bir program yazın.

Sayı 3.5 değerinden büyük veya buna eşit olduğu sürece girdiyi 2'ye bölmek için bir while döngüsü (loop) kullanın.

3.5 değerinden küçük olan ilk sayıyı print ile yazdırın.

Kendin dene

quiz iconKendini test et

Bu ders kısa bir quiz içerir. Soruları yanıtlamak ve ilerlemeni kaydetmek için derse başla.

Fundamentals bölümündeki tüm dersler

Kendi başına pratik yap: Online Python derleyicisi