Python

Python ile “while” Döngüsü Kullanımı

Bu yazımızda, Python programlama dilindeki “while” döngüsünü ele alacağız. Bu döngü türü, bir koşul doğru olduğu sürece belirli işlemleri yapmamıza olanak sağlar. Özellikle belirli bir şart yerine getirilene kadar işlem yapmak istediğimizde, “while” döngüsü çok işimize yarar.

Python “while” Döngüsü

Programlamanın ayrılmaz bir parçası olan döngüler, birbaşka deyişle yinelemeler, bir koşulun doğru kalmaya devam ettiği müddetçe yapması istenilen bir dizi ifadeyi tekrarlamak anlamına gelir. Tekrarlanmanın sayısı ise ilgili test koşuluna bağlıdır. Bu yüzden, tekrarlanacak olan şey, üzerinde düşünülerek kararlaştırılmalıdır.

Türkçede “… iken, … olduğu sürece” gibi anlamlara gelen while döngüsü, for döngüsü ile beraber Python’da kullanılan iki döngü yapısından biridir. Zaten Türkçe anlamından da anlaşılacağı üzere, kod bloğu içerisinde tanımlanan kodları koşul geçerli kalmaya devam ettikçe çalıştırır. Haliyle bu koşul sağlanmadığı anda ise döngü sonlanmaktadır.

Python’daki while döngüsünün temel sözdizimi (syntax) şu şekildedir:

Bu yapıda koşul, döngünün devam edip etmeyeceğini belirleyen bir ifadedir. Eğer bu koşul ifadesi True (doğru) ise, kod bloğu çalıştırılır. Kod bloğu tamamlandıktan sonra, koşul ifadesi tekrar değerlendirilir. Eğer hâlâ True ise, kod bloğu tekrar çalıştırılır. Bu işlem, koşul ifadesi False (yanlış) olana kadar devam eder. Örneğin:

Yukarıdaki kodumuzda sayac isimli bir değişken oluşturduk ve değerini 0 olarak belirledik. Koşulumuz tabiri cazise “sayac değişkeninin değeri 5’den küçük olduğu sürece…” anlamı vermekte ve sayac < 5 koşulu True olduğu sürece döngü içindeki kodlar çalışacağını anlatmaktadır. Kod bloğunda ise her döngü turunda sayac değişkenini 1 arttırmaktayız (sayac += 1) ve haliyle döngünün bir noktada sona ereceği işlemi yapmaktayız. Eğer sayac değerini arttırmamış olsaydık kod sonsuz bir döngüye (infinite loop) girmiş olacaktı ve hiç bitmeyecekti.

“while” Döngüsünde Dikkat Edilmesi Gereken Noktalar

Sonsuz döngüler, dikkat edilmesi gereken bir konudur. Eğer while döngüsü için belirlediğimiz koşul hiçbir zaman False olmazsa, programımız sürekli çalışır. Bu da haliyle bilgisayar kaynaklarınının hızla tükenmesine sebep olur. Bu yüzden, döngüyü başlatırken kullandığımız koşulu bir noktada False yapacak işlemleri mutlaka yapmalıyız.

Bu yüzden, döngü içinde bir çıkış stratejisi oluşturmak oldukça önemlidir. Bunu en basit haliyle, her döngü turunda değişen ve en sonunda döngü koşulunu False yapacak bir değişkenle yapabiliriz. Örneğin, i += 1 ifadesi ile her döngü turunda i değişkenini bir artırarak belirli bir sayıda döngüden sonra koşulun yanlış olmasını sağlayabiliriz.

“Peki, While döngüsünü ne zaman kullanmalıyız?” Belirli bir koşul sağlandığı sürece işlemleri yapmamıza olanak tanısa da, while döngüsünü koşulun ne zaman sona ereceğini tam olarak bilemediğimiz durumlarda tercih etmeliyiz. Örneğin, kullanıcıdan gelen veriyi işlemek gibi dinamik senaryolarda oldukça etkilidir. For döngüsü daha çok, döngünün ne zaman sona ereceğini bildiğimiz senaryolarda işlevseldir.

“while” Döngüsünde “break” İfadesi

Türkçede “terk etmek, kırmak” gibi anlamlara gelen “break” kelimesi, Python’da döngüyü aniden sonlandırmak için kullanılır. Yani, bazen döngü koşulunu beklemeden döngüyü sonlandırmak gerekebilir. İşte böylesi durumlar için “break” komutu devreye girer. Yorumlayıcı, break komutunu gördüğü anda sadece o an içinde bulunulan for veya while döngüsünü sonlandırır ve döngü bloğunun dışındaki kodlara devam eder.

Yukarıdaki örnekte verilen Python kodu, i değişkeni 1’den başlayarak 6’ya kadar olan sayıları ekrana yazdırıyor. Ne zaman ki i == 4 koşulu sağlanıyor işte o zaman break komutu devreye giriyor ve döngüyü hemen sonlandırıyor.

“while” Döngüsünde “continue” İfadesi

Türkçedeki “devam etmek” anlamına gelen continue komutu, Python’da döngünün belirli bir noktasında işlemleri kesip döngüyü en baştan başlatmak için kullanılır. Yani, continue komutu döngünün sadece o anki turunu sonlandırır ve döngü koşulu tekrar değerlendirilerek bir sonraki tura geçilir.

Örneğin, 1’den 5’e kadar olan sayıları yazdırmak istiyoruz, ancak 3’ü atlamak istiyorsak şu şekilde bir kod yazabiliriz:

Yukarıdaki örnekte, i değişkeninin değeri 3 olduğunda continue komutu çalışır ve döngünün o anki turunu sonlandırıp i += 1 ile i değişkenini artırılır. Ardından, döngü koşulu tekrar değerlendirilir ve döngü devam eder. Bu sayede çıktıda 3 sayısını görmeyiz.

“while else” İfadesi

Python’da “while-else” yapısı, döngü koşulu False olduğunda else bloğunu çalıştırmak için kullanılır. Ancak burada önemli bir detay belirtmek gerekir: Eğer döngü break komutu ile sonlandırılmışsa, else bloğu çalışmaz. Yani, “else” kısmı yalnızca döngü koşulu doğal bir şekilde False olursa devreye girer.

Bu yapı, döngünün belirli bir koşulda doğal bir şekilde sonlanması durumunda yapılacak ek işlemler için oldukça kullanışlıdır. Örneğin, belirli bir sayıya kadar saydıran bir döngü kurduğunuzda ve sayma işlemi bittiğinde ekrana bir mesaj yazdırmak istiyorsanız, “while-else” yapısını kullanabilirsiniz.

Yukarıdaki örneğimizde, döngü koşulu i < 4 olduğu için 1, 2, 3 sayıları ekrana yazdırılır. Koşul False olunca da “Döngü tamamlandı.” mesajı ekrana yazdırılır.

Bu yapı her daim kullanılmıyor olsa da, belirli senaryolar için oldukça kullanışlıdır. Haliyle kodun okunabilirliğini ve anlaşılırlığını arttıran gerekli durumlarda, “while-else” yapısını gönül rahatlığıyla kullanabilirsiniz.

İlgili Makaleler

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Başa dön tuşu

😔 Reklam Engelleyicisi 😔

Sitenin varlığını sürdürebilmesi adına reklam engelleyicinizi (Adblocker) kapatmanızı rica ediyoruz 😔