Python - Döngüler - While


Merhaba arkadaşlar bu yazımızda yine döngülerden devam ediyoruz. Önceki derslerimizde for döngüsünü görmüştük. Şimdi while döngüsü ile devam ediyoruz. While döngüsü for döngüsünden farklı olarak belirli bir koşula bağlı olarak içerisindeki kod bloğunu sürekli çalıştıran bir döngüdür. For döngüsünden farklı olarak koşulun niteliğini biz belirliyoruz ve ne zaman biteceği belli olmayan döngüler yazmamıza da yardımcı oluyor. Örneğin klavyeden "x" girilene kadar isimlerin kullanıcıdan isim bilgisi alıp bunu bir listeye ekleyen programı ele alalım. Burada döngünün ne kadar döneceği belli değil, sadece belirli bir şart var o da klavyeden "x" girilmemesi. Bu şart doğru olduğu sürece döngü dönmeye devam edecek. İlk dönem bunu görmüştük ve bu "x" karakterine kaçış karakteri demiştik.

While ve for döngülerinin kullanacağımız yere göre getirdikleri avantajlar vardır ve bunu zamanla pratik yaptıkça daha iyi anlayacağız. Şimdi while'ın yazımına bakalım:

Yukarıdaki şekilden de anlayacağımız gibi while'dan sonra ortaya attığımız koşul doğru olduğu sürece döngü dönmeye devam edecek ve bloğundaki kodları sürekli çalıştıracak, burada dikkat etmemiz gereken nokta, döngüyü sonlandıracak koşulu düzgün ayarlamamız, eğer düzgün ayarlayamazsak program sonsuz döngüye girebilir ve sürekli çalışabilir.

Örnek: Başlangıçta belirlediğimiz bir i=1 değişkenini birer arttırıp 10'a kadar değerini ekrana yazdıran programa bakalım:
Başlangıçta atadığımız i=1 değerine bağlı olarak while döngümüzün koşulu i<10 yani i 10 dan küçük mü. Bu doğru olduğu sürece print ile ekrana i'nin değerini yazdırıyoruz. Ve daha sonra i'yi 1 attırıyoruz ve döngü tekrar başa sarıyor, ta ki i=10 olana kadar, 10 olduğunda koşul False oluyor ve döngü sona eriyor.

Örnek: 2'den 20'ye kadar olan çift sayıları ekrana yazdıran programa ait kodlar: (i'yi 2'şer arttırırsak istediğimiz sonucu elde edebiliriz.)
Örnek: Şimdi'de ekrana 10 kez "Adem Tolunay Fen Lisesi" yazdıralım. Bunu yaparken kaç kez yazdırdığımızı da yanına ekleyelim:

Bunları yaparken toplama ya da sayma işlemlerini'de yapabiliriz. For döngüsünde gördüğümüz 0'dan 100'e kadar olan çift sayıların toplamını alma yada kaç adet olduklarını sayma gibi işlemleri de while döngüsünde yapabiliriz. Örneğimizi biraz karmaşıklaştıralım. Mesela 1 ile 100 arasında 3'e tam bölünen tam sayıların toplamını ve kaç adet olduklarını bulan ve ekrana yazdıran programı ele alalım:

Bu döngülerimiz bir noktada başlayıp bir noktada biten döngüler şeklinde oldu. Şimdi bitiş noktasının belli olmadığı, kaçış karakteriyle sonlandıracağımız döngülere bakalım.

Örneğin kullanıcı tarafından (n/N) karakterlerinden herhangi biri girilmediği sürece dönmeye devam eden ve kaç kez döndüğünü ekrana yazdıran programa bakalım:
Örnek klavyeden negatif sayı girilene kadar girilen sayıları toplayan döngü kodlarını yazınız:

Bu örneğimizde koşul olarak giris değişkeninin 0'dan büyük olması olarak belirliyoruz. Bunun dışında while'a herhangi bir koşul vermeden sürekli döngü olarak ayarlayıp döngü içerisinde bir koşul ifadesi yerleştirip bunu da break operatörü ile döngüyü sonlandırabiliriz.
While ile continue ifadesini kullanmak:
Yine girilen sayıları toplayalım fakat negatif değer girildiğinde bunu işleme dahil etmeyelim bunun yanında 999 rakamı girilene kadar döngü çalışmaya devam etsin.
Bu yazımızda while döngüsünün nasıl kullanıldığını ve hangi örnekler içerisinde kullanılabileceğini görmüş olduk. Bundan sonraki yazılarımızda da bu konunun devamını anlatmaya çalışacağım.

Yorumlar

  1. 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.

    YanıtlaSil
  2. Anladığım kadarıyla while döngüsü sonsuz döngüye girmiş. Bu durumda bilgisayarınız çökmez StackOwerFlow hatası verebilir.

    YanıtlaSil

Yorum Gönder

Bu blogdaki popüler yayınlar

Python: Temel Kavramlar

Python - Örnekler

Donanım, Yazılım Nedir?