Python programlama dilinde while döngüsünün sözdizimi aşağıdaki şekildedir.
while koşul: ifade(ler)
Burada ifadeler yalnız bir ifade ya da bir ifade bloğu olabilir. Koşul herhangi bir ifade olabilir. Koşul doğru oldukça döngü yinelenir.
Koşul yanlış olduğunda, program denetimi döngü bloğunu takip eden diğer satıra geçer.
Python'da, bir programlama yapısından sonra aynı sayıda karakter alanıyla girintilendirilen tüm ifadeler için bir kod bloğunun parçası olarak kabul edilir. Python ifadeleri gruplama yöntemi olarak girintileme yöntemini kullanır. Bu yöntem Python programlama diline has bir yöntemdir. Ayrıca bu yöntem okunabilirlik açısından oldukça kullanışlı bir yöntemdir. Python programlama dili okunabilirliğe verdiği önemi, girintileme mantığını kendi dil yapısına oturtarak sağlamıştır.
While döngüsünde bilmeniz gereken en önemli nokta ise döngü hiç çalışmayabilir olmasıdır. Şart karşılaştırılıp sonuç yanlış olduğunda döngü gövdesi atlanır ve döngüden sonraki ifadeler çalıştırılmaya başlar.
#!/usr/bin/python count = 0 while (count < 9): print 'Say:', count count = count + 1 print "Hosca kalin!"
Yukarıdaki kod çalıştırıldığında aşağıdaki çıktıyı verir:
Say: 0
Say: 1
Say: 2
Say: 3
Say: 4
Say: 5
Say: 6
Say: 7
Say: 8
Hosca kalin!
Bu kod bloğunda döngünün çalışma şartı count değişkeninin 9 dan küçük olma durumudur. Şart true döndürdükçe ekrana basma işlemi gerçekleşir ve her ekrana alınan çıktı ardından şart değişkeni bir sayır arttırılır.
Bu tip döngüler sıklıkla oyun programlama gibi alanlarda oldukça tercih edilir. Bir koşul hiç bir şekilde False olmayacak şekilde yapılandırılır ise bu döngü sonsuz döngüdür. Ayrıca yapılan ufak hatalardan istemeden programımızı sonsuz döngülere sokabiliriz bu hususa dikkat etmeliyiz.
#!/usr/bin/python var = 1 while var == 1 : # This constructs an infinite loop num = raw_input("Bir numara girin :") print "Sizin girdiginiz numara: ", num print "Hoscakal!"
Yukarıdaki kod çalıştırıldığında aşağıdaki sonucu verir:
Bir numara girin :3
Sizin girdiginiz numara: 3
Bir numara girin :7
Sizin girdiginiz numara: 7
Bir numara girin :9
Sizin girdiginiz numara: 9
Bir numara girin :13
Sizin girdiginiz numara: 13
Bir numara girin :^CTraceback (most recent call last):
File "test.py", line 5, in <module>
num = raw_input("Bir numara girin :")
KeyboardInterrupt
Yukarıdaki örnek kod çalıştırıldığında sonsuz bir döngüye girer çıkmak için CTRL + C'yi kullanmanız gerekir.
Python programlama dili, döngülerle birlikte else kullanımını destekler.
Else deyimi bir while döngüsü ile kullanılırsa, else ifadesi koşul yanlış olurca yürütülür.
Aşağıdaki örnek bir while döngüsüyle birlikte else kullanımını gösterir.
#!/usr/bin/python count = 0 while count < 5: print count, " 5'ten kucuk" count = count + 1 else: print count, " 5'ten daha buyuk"
Yukarıdaki kod çalıştırıldığında aşağıdaki sonucu verir.
0 5'ten kucuk
1 5'ten kucuk
2 5'ten kucuk
3 5'ten kucuk
4 5'ten kucuk
5 5'e esit ya da daha buyuk
Koşul ve çalıştırılacak deyim tek bir ifadeden oluşuyorsa tek bir satır halinde kullanabilirsiniz.
#!/usr/bin/python flag = 1 while (flag): print 'Flag degisken True degere sahiptir' print "Hoscakal!"
Yukarıdaki kod çalıştırılıdığında aşağıdaki sonucu verir.
Flag degisken True degere sahiptir
Flag degisken True degere sahiptir
Flag degisken True degere sahiptir
^CTraceback (most recent call last):
File "test.py", line 5, in <module>
while (flag): print 'Flag degisken True degere sahiptir'
KeyboardInterrupt
Sonsuz döngüden çıkmak için CTRL + C tuş kombinasyonu kullanılabilir.
n = raw_input("Lütfen 'merhaba' yazın ve entera basın:") while n.strip() != 'merhaba': n = raw_input("Please enter 'merhaba':")
While döngüsü ayrıca sonsuz döngülerde tercih edilir. Sonsuz döngüler oyun programlamada sıkca kullanılan yapılardır.
while True: n = raw_input("Lütfen 'merhaba' yazın ve entera basın:") if n.strip() != 'merhaba': break
Python For Döngüsü /makale/python-for-dongusu-257
Yorumlar
merhaba ben python da while döngüsüne çalışırken döngüyü belli bir noktada bitirmedim ve döngü sonuna kadar çalışmaya başladı ben de jupyter notebookta o işlemi yaptığım dosyayı sildim acaba bilgisayarımın çökme ihtimali var mıdır? Cevap verirseniz çok sevinirim şu an bilgisayarım çökecek diye aşırı paniklemiş durumdayım.
Konuyu incelerken sorunuzu gördüm. Üzerinden 1 ay'dan fazla bir süre geçmiş.Bilgisayarınız hala çalışıyordur :) En fazla jupyter notebook'taki o çalışma sayfasını silmişsiniz.Sadece sildiğiniz çalışma sayfasını sildiğiniz için bir daha açamassınız. Anladığım kadarıyla. Bende örnek alıştırmalar yaparken 10'larca sayfa açıyorum. 1 tanesini silinmiş oda çöp kutusunda duruyordur.