Döngüler # 7 - Python Dersleri (Tutorials)

in #blog6 years ago

kapak.jpg

Merhabalar. Python programlama dersinin bu bölümünde yeni bir döngü olan while() döngüsüne başlayacağız.

Python'da iki adet döngü çeşidi olduğundan bahsetmiştik. Önceki derslerimizde for döngüsünü görmüş ve değişik veri yapıları ile nasıl kullanıldığını öğrenmek adına uygulamalara yer vermiştik.

while döngü yapısı için de aynı yolu izleyeceğiz.

while() Döngüsü

while() döngü yapısının mantığı for döngü yapısından biraz farklıdır.

Python'da for döngüsü, dizisel bir yapının eleman sayısı kadar döndükten sonra sonlanır. 15 elemandan oluşan bir liste düşünün. Bu liste ile yapılan for döngüsü 15 kez dönecektir.

Ancak while() döngüsünde bu böyle değildir. while() döngüsünde, while döngü bloğu içerisindeki kodlar, koşul sağlandığı sürece sürekli çalışır. Ne zaman koşul sağlanmaz, işte o zaman döngüden çıkılır.

while() döngü yapısının bu durumundan dolayı kullanımında dikkat etmek gerekir. Yapılacak bir hata sonsuz bir döngünün oluşmasını sağlayabilir.

while() döngüsünün genel yapısı aşağıdaki gibidir :

image.png

while kelimesinden sonra koşul durumunu belirtiriz. Sonrasında her zaman olduğu gibi iki nokta(:) işareti ve while bloğundaki kodlar gelir.

while ifadesindeki koşul durumu doğru olduğu sürece de "statements" olarak belirttiğim kodlar çalışır. Blogdaki kodlar çalışıp bittikten sonra tekrar koşul durumunu sorgular, koşul doğruysa tekrar aynı kodları çalıştırır. Bu şekilde koşul sağlanmayana kadar devam eder.

while() döngüsünden çıkıldıktan sonra döngüden hemen sonra gelen satırlarla program çalışmaya devam eder.

while döngüsünü kullanırken yukarıda belirttiğim sonsuz döngü olayına girmemek için while döngü bloğundaki kodlardan biri ya da birkaçının koşul durumunu değiştirip false yapabilecek bir duruma sahip olması gerekir.

Eğer koşul durumu while bloğunda değiştirilmezse koşul her zaman sağlanacağından sonsuz döngüye girilmiş olur.

Yeterince açıklama yaptık sanırım. Şimdi uygulamasına geçelim :

image.png

Uygulamada ilk başta sayi adında tamsayı bir değişken tanımlanıp ilk değer ataması yapıldı. Sonrasında while() döngü yapısının koşul kısmına gelindi ve sorgu kısmı çalıştırıldı:

sayi < 8

mi? sayi değeri 0 olduğundan

0 < 8

sorgusu True değer döndürdüğünden while bloğu içerisine girildi. İlk olarak print() metodu ile "0, 8'den küçüktür" yazıldı ve sonrasında

sayi = sayi + 1

kodu çalıştırılarak sayi değişkenimizin değeri bir artırıldı. Bu biraz önce bahsettiğimiz sonsuz döngünün önüne geçilmek için yapılan kod satırıdır.

Bir sonraki adımda ise while kod bloğu içerisindeki tüm kodlar çalıştırıldığından tekrar while(kosul) durumuna gelinecek ve tekrar koşul durumu sorgulanacaktır :

sayi < 8

mi? sayi değişkeni artık 1 olduğundan

1 < 8

koşulu sorgulanacak ve koşul True (doğru) olduğundan tekrar while döngüsüne girilecek. Bu şekilde her while döngü bloğuna girildiğinde sayı değişkeninin değeri 2,3,4,5,6,7 şeklinde artmaya devam edecek.

En son sayi değişkeninin değeri 7 olduktan sonra while(koşul) kısmına gelinecek

sayi < 8

mi? sorgusu çalıştırılıp True cevabı alınarak while döngü bloğuna gelindiğinde "7, 8'den küçüktür" yazısı yazılacak ve

sayi = sayi + 1

kodunun çalışması ile sayi değişkenimizin değeri 8 olacaktır. Tekrar while(koşul) kısmına gelinecek

sayi < 8

mi? sorgusunda 8 < 8 sorgusu False (yanlış) olduğundan şart sağlanmayacak ve döngüden çıkılacaktır. Döngüden sonra gelen ilk satır olan print() metodu ile program devam edecektir.

Uygulamayı çalıştırdığımızda çıktımız aşağıdaki gibi olacaktır :

image.png

while döngüsünün adım adım çalışma mantığı bu şekildedir.

Şimdilik bu kadar.

Umarım faydalı bir çalışma olmuştur.

Teşekkürler.

yesilayrca.png

Kaynak belirtilmeyen görseller bana aittir. The pictures without source in the post is belong to me

Sort:  

Congratulations @elektroyazilim! You have completed the following achievement on the Steem blockchain and have been rewarded with new badge(s) :

You published a post every day of the week
You published more than 90 posts. Your next target is to reach 100 posts.

You can view your badges on your Steem Board and compare to others on the Steem Ranking
If you no longer want to receive notifications, reply to this comment with the word STOP

To support your work, I also upvoted your post!

You can upvote this notification to help all Steem users. Learn how here!


@elektroyazilim, sorry to see you have less Steem Power.
Your level lowered and you are now a Red Fish!

You can upvote this notification to help all Steem users. Learn how here!

You got a 75.41% upvote from @minnowvotes courtesy of @elektroyazilim!

You got a 92.09% upvote from @luckyvotes courtesy of @elektroyazilim!