continue ifadesi # 2 - Python Dersleri (Tutorials)
Merhabalar. Python programlama derslerinin bu bölümünde continue anahtar kelimesinin kullanımı ile alakalı dikkat edilmesi gereken bir konudan bahsedeceğim.
Bu ders önceki dersler ile bağlantılı olduğundan öncelikle onlara bakmanız tavsiye edilir.
Bir önceki dersimizde continue anahtar kelimesinin kullanımını for döngüsü içerisinde görmüştük.
continue anahtar kelimesi, bir döngü içerisinde kullanıldığında - belirli bir şarta bağlı olarak- kendinden sonraki kodları çalıştırmaz. continue anahtar kelimesinden sonra program, döngünün başından itibaren devam eder.
for döngü örneğimiz aşağıdaki gibidir :
Örneğimizdeki for döngüsü, myList elemanlarını ekrana yazdırmak için kullanılan bir döngüdür.
Ancak döngü içerisinde item değişkeninin 1 veya 3 olduğu durumları, sorgulayan bir if yapısı bulunmaktadır. item değişkeni 1 veya 3 olduğunda program if yapısına girecektir. Sonrasında continue anahtar kelimesini gördükten sonra
print(item)
kodunu çalıştırmadan döngünün başına gideceğinden 1 ve 3 sayıları yazdırılmamıştır.
continue ifadesinin for döngüsü ile kullanımında herhangi bir sorun bulunmamaktadır.
Ancak continue ifadesini while döngüsü ile kullanırsanız dikkat etmediğiniz takdirde programınızı sonsuz döngüye sokabilirsiniz.
Uygulamasını görelim :
Uygulamanın başında sayi adında bir tamsayı değişkene ilk değer olarak 0 ataması yapılmıştır.. Sonrasında while döngüsünde
sayi < 7
şartı verilmiştir. Yani bu döngü sayi değeri 7 den küçük olduğu sürece devam edecektir. Bu şart sağlandığında döngüye girilecek ve
print(sayi)
kodu ile her sayi değeri ekrana yazdırılacaktır. Sonrasında gelen if sorgusu ise
sayi == 4
sayi değişkeninin 4 olup olmama durumunu sorgulamaktadır. if yapısından sonra gelen
sayi = sayi + 1
kodu ile de sayi değişkeninin değeri her defasında 1 artırılacaktır. Böylelikle sonsuz döngüye girilmesinin önüne geçilmiş olacaktır.
Ama her şeye rağmen bu kod sonsuz döngüye girecektir. Çıktımıza bakalım :
Bu kodu sonsuz döngüye sokan durum if yapısındaki continue ifadesinin yanlış kullanımıdır.
Şimdi uygulamamızı adım adım çalıştıralım. sayi değişkenimiz 0 olduğunda
0 < 7
şartı sağlandığından döngüye girilecek ve
print(sayi)
kodu ile de değeri ekrana yazdırılacaktır. Sonrasında gelen
if ( sayi == 4)
şartı sağlanmadığından
sayi = sayi + 1
kodu çalışarak sayi değişkeninin değeri 1 artırılacaktır. Şimdi sayi değişkenimizin değeri 1 dir. Tekrar döngünün başına gidilir ve
sayi < 7
sorgusu 2 < 7 olduğundan doğrudur ve döngüye girilir. Bu şekilde sayi değişkeni 2 ve 3 olduğu değerleri ekrana yazdırılır.
sayi = sayi + 1
kodu ile sayi değişkeninin değeri 4 olduğunda
sayi < 7
yani 4 < 7 olduğundan döngüye girilir. Sonrasında gelen
if ( sayi == 4)
sorgusu doğru olduğundan if yapısına girilir ve continue ifadesini görünce
sayi = sayi +1
kodu çalıştırılmaz ve döngünün başına gidilir. Tekrar
while ( sayi < 7)
yani 4 < 7 sorgusu çalıştırılır. Bu durum bu şekilde devam eder. Her defasında
sayi = sayi +1
kodu atlandığından şart her zaman sağlanacağından sonsuza kadar ekrana 4 yazacaktır.
Buradaki hata
sayi = sayi + 1
kodunun if yapısından önce verilmesi ile düzeltilebilir.
Şimdilik bu kadar.
Umarım faydalı bir çalışma olmuştur.
Teşekkürler.
Kaynak belirtilmeyen görseller bana aittir. The pictures without source in the post is belong to me
You got a 70.09% upvote from @minnowvotes courtesy of @elektroyazilim!