mustafamuratcoskun / Sifirdan-Ileri-Seviyeye-Python-Programlama

Udemy üzerindeki Python kurslarında kullanılan materyaller
1.96k stars 779 forks source link

Döngüler>> Break and Continue #22

Closed zehranrgi closed 3 years ago

zehranrgi commented 3 years ago

""" i = 0 # Bu kodda Sonsuz döngü olayı neden oluşur ? Bu kodu çalıştırmayalım.

Eğer çalıştırırsak sonsuz döngüyü "Kernel" sekmesinde

while (i < 10):

if (i == 2):
    continue

print(i)
i += 1

"""" Bu Dosya yolu içerisinde yer alan ders notunda herhangi bir sonsuz döngüye girme yok. ( PyCharm ver Jupiter üzerinden denedim hocam. Saygılar.

ymucahit commented 3 years ago

Merhaba,

Aslında kodu biraz değiştirirsek sonsuz döngüye girdiğini daha rahat görebilirsin. continue ifadesi döngü kontrol ifadesine geri döndürür. i değişkenini tekrar arttırmadığınız için i her zaman 2'de kalacaktır. Zannedersem ekrana birşey bastırılmadığı için sonsuz döngüye girmediği düşüncesine vardın. Aşağıdaki kodda print'i yukarıya aldım daha rahat anlaşılması için. 0,1 ve 2'den sonra hep 2'yi bastıracaktır.


while (i < 10):
    print(i)
    if (i == 2):
        continue
    i += 1
Anthelios commented 3 years ago

Çünkü i 2'ye eşit olduğunda döngü başa dönüyor ve i'nin 10'dan küçük olma durumunu kontrol ediyor. 2<10 sonucuyla karışılaşıldığı için döngü devam ediyor ve yeniden if koşulu kontrol ediliyor. Yine i, 2'ye eşit olduğu için döngünün başına dönüyor ve sonsuza kadar bu durum devam ediyor.

Anthelios commented 3 years ago

Kodunuzu şu şekilde düzenlersek döngünün sonuna kadar gittiğini ve i'nin 10'a eşit olduğunda döngünün sona erdiğini yani sonsuz döngüye girilmediğini görebileceksiniz.

i=0
while(i<10):
    print(i)
    i+=1
    if(i==2):
        continue
zehranrgi commented 3 years ago

Anladım, teşekkür ederim hızlı yanıtlarınız için :)

Anthelios commented 3 years ago

Rica ederim, iyi çalışmalar dilerim.