Python‘da döngüler, belirli bir kod bloğunu birden fazla kez çalıştırmak için kullanılır. Döngülere göz attığımızda for ve while kullanılmaktadır. For döngüsüyle alakalı yazımıza göz atmak için buraya tıklayabilirsin. Şuan ki konumuza dönecek olursak; “while” döngüsü, koşullu bir tekrar yapısıdır ve belirli bir koşul sağlandığı sürece kodun tekrar tekrar çalışmasını sağlar.
“while” Döngüsü Nedir?
“while” döngüsü, bir koşul doğru olduğu sürece kod bloğunu çalıştırır. Koşul yanlış olduğunda döngü sona erer.
- Belirli bir koşul sağlandığında sürekli olarak bir işlem yapmak,
- Koşul sağlanana kadar bir işlemi tekrar etmek için kullanılır.
“while” döngüsünün temel yapısı şu şekildedir:
1 2 3 | while koşul: # Koşul doğru olduğu sürece bu kod çalışır # ... |
- koşul: Bu, bir boolean (True/False) değeri döndüren bir ifade veya değişkendir. Koşul doğru (True) olduğu sürece döngü çalışır.
- Döngü Bloğu: Koşul doğru olduğu sürece tekrar eden kod bloğudur. Bu kodlar girintili olarak yazılır ve her döngü tekrarında çalıştırılır.
While döngüsü ne işe yarar?
while döngüsü, bazı belirli durumlar için oldukça kullanışlıdır:
- Bilinmeyen Tekrar Sayıları: Döngü kaç kez çalışacağını önceden bilmediğiniz durumlarda kullanışlıdır. Örneğin, kullanıcıdan belirli bir girdi alınana kadar döngü devam edebilir.
- Koşula Bağlı Tekrar: Kodun belirli bir koşul sağlanana kadar çalışmasını sağlamak için kullanılır. Örneğin, kullanıcı doğru şifreyi girene kadar bir döngü çalışabilir.
Kullanım alanları nelerdir?
- Kullanıcı Girdisi: Kullanıcıdan geçerli bir giriş almak için kullanılabilir. Örneğin, geçerli bir şifre girilene kadar döngü devam eder.
- Oyun Döngüleri: Oyunlarda, oyunun bitiş koşulu sağlanana kadar döngü devam eder.
- Hata Yönetimi: Belirli bir koşul sağlanana kadar hata mesajları göstermeye devam edebilir.
1’den 5’e kadar sayıları yazdıran bir “while” döngüsüne göz atalım.
1 2 3 4 | sayi = 1 while sayi <= 5: print(sayi) sayi += 1 |
İlk olarak “sayi” adında bir değişken tanımlanıyor ve ona 1 değerini atıyoruz. 1 değeri döngüde kullanacağımız ilk sayıyı belirliyor.
Ardından while döngüsünü başlatıyoruz. Döngü, sayi değişkeninin değeri, “5’ten küçük” veya “eşit” olduğu sürece devam edecek. Yani, sayi 5 veya “daha küçük” olduğu sürece döngü çalışmaya devam edecek.
Özetle, bu örneğimizde, sayi değişkenini 1’den başlatır ve değeri 5 olana kadar her adımda sayi’yi ekrana yazdırır. Her yazdırma işleminden sonra sayi değeri bir artar. Sonuç olarak, ekrana sırasıyla 1, 2, 3, 4 ve 5 yazdırılır.
Ekran çıktısı ise şu şekilde olacaktır:
1 2 3 4 5 | 1 2 3 4 5 |
Eğer koşul hiçbir zaman yanlış olmazsa, “while” döngüsü sonsuza kadar devam eder. “while” döngüsü, bir koşulun doğru olup olmadığını sürekli kontrol ederek kod bloklarını tekrar tekrar çalıştırmak için en ideal döngü biçimidir. Örneğin:
1 2 | while True: print("Bu döngü sonsuz!") |
Sonsuz döngüler için dikkat edilmesi gereken bazı noktalar vardır.
- “while” döngüsünde, koşulun bir noktada yanlış olması gerektiğini unutmamalısınız, aksi takdirde program sonsuz bir döngüye girer.
- Kodunuzu sonsuz döngüye sokmamak için veya döngüde durdurmak için “break” ifadesi ile döngüyü manuel olarak sonlandırabilirsiniz.
Kodumuz sonsuz döngüde olduğu için aşağıdaki çıktı sürekli olarak tekrarlayacaktır.:
1 2 3 4 5 6 7 8 9 10 | Bu döngü sonsuz! Bu döngü sonsuz! Bu döngü sonsuz! Bu döngü sonsuz! Bu döngü sonsuz! Bu döngü sonsuz! Bu döngü sonsuz! ... ... ... |
Kullanıcıdan bir şifre girişi isteyelim. Şifremiz ise “123456”. Kullanıcı bu şifreyi doğru girene kadar kod sürekli kendi içerisinde döngü halinde olacak. Eğer doğru veriyi girerse kodu durduracak.
1 2 3 | sifre = "" while sifre != "123456": sifre = input("Lütfen şifreyi girin: ") |
Yazdığımız bu kodu ayrıntılı bir şekilde inceleyelim. İlk olarak “sifre” adında bir değişken oluşturuyoruz ve bu değişkeni boş bir string (yani hiçbir şey içermeyen bir metin) ile tanımlıyoruz.
Ardından “while” döngüsünü oluşturuyoruz. Döngü, “sifre” değişkeninin içeriği olan “123456” ile eşit olmadığı sürece çalışır. Başka bir deyişle, kullanıcı doğru şifreyi girene kadar döngü devam eder. Kodun çalışma çıktısı ise şu şekilde olacaktır:
1 2 3 4 5 | Lütfen şifreyi girin: 123 Lütfen şifreyi girin: 0001 Lütfen şifreyi girin: 123456 Program durduruldu. |