7. derste üç bölüm var; A, B, C. İstediğiniz sırayla devam edebilirsiniz.
Şu ana kadar temel programlama komutları (değer atama, yazdırma, vb.) ve hangi cümelelerin if ifadeleriyle kontrol edildiğini öğrendik. Bu derste döngüleri (loop) (tekrarlama anlamında repetition veya iteration olarak da adlandırılır) öğreneceğiz. Döngü, bilgisayarda aynı (veya benzer) işleri defalarca tekrarlama yöntemidir. Bu derste Python'daki while ve for döngülerini ele alacağız.
while Döngüleri
while (... iken) ifadeleri bir kod parçasını, koşul gerçekleştiği sürece tekrarlamakta kullanılır. Bir örnek verelim:
Genel yapı şöyledir:
- İlk satır
while «condition» (koşul):Buradaki koşul «condition» doğruTrueveya yanlışFalsesonucunu getiren ifadedir. (ififadelerinde gördüğümüz gibi bir Boolean deyimi.) - Daha sonra, girintisi hizalanmış satırlardan oluşan bir blok (yine
ififadelerindeki gibi) içinde defalarca tekrarlanmasını istediğimiz ifadeler yer alır. Buna gövde denir. - Programı çalıştırdığımızda tekrarlama şöyle başlar:
- Koşul test edilir; eğer koşul doğru
Trueise gövde satırları işleme konur ve koşul yanlışFalseçıkana kadar, bu şekilde tekrar tekrar başa dönülür.
- Koşul test edilir; eğer koşul doğru
Yukarıdaki örnekte kalanSüre 0'dan büyük olduğu sürece gövde işleme konup başa dönüldü.
![]() | Bu döngülerle sonsuza kadar çalışan programlar yazmak çok kolaydır: infinite loop. Oluşacak hata "Time Limit Exceeded"; çünkü CS Circles web sunucusu bir süre limitini zorunlu kılar; 1 saniye sonunda program sona erdirilir. Eğer programı evde çalıştırsaydınız, sonsuza kadar çalışırdı (ya da siz durduruna kadar, Ctrl-C'ye basarak durdurabilirsiniz). |
for Döngüleri
Python'daki bir diğer döngü de for (...dığı için) döngüsüdür. Pek çok durumda bu iki döngü türü de (for/while) kullanılabilir ama biri her zaman daha kolay olan yoldur, dolayısıyla ikisini de öğrenmeliyiz. for döngüleri, işlem tekrarlarını sınırlı bir sayı aralığında (veya daha sonra göreceğimiz gibi belli bir veri listesi içinde) gerçekleştirmek için kurulur.
İşte size bir for döngüsü örneği.
Sayısal for döngülerinin genel yapısı
for «değişken» in range(«ilkDeğer», «sonDeğer»): «aynı girintide hizalanmış komut satırları bloğu; döngü gövdesi»Daha önce belirttiğimiz gibi gövdeyi oluşturan blok birden fazla satırdan oluşabilir, önemli olan bu satırların girintilerinin aynı hizada olmasıdır. Önce
ilkDeğer başlangıç noktası alınarak döngü gövdesi değişken kullanılarak yürütülür. Sonra ilkDeğer+1, ilkDeğer+2, vd. ile gövde döngüsü sonDeğer-1, sayısına gelene kadar döngü gövdesi değişken, üzerinden işletilir. sonDeğer-1, işlem yapılacak son nokta olduğundan döngü son kez tekrar edilerek bitirilir.
![]() | Döngü sonDeğer-1, noktasında sona erer ve sonDeğer'i içermez!
|
İç içe iki for döngüsü örneğine bakalım.
Kes break ve Devam continue Deyimleri
Kes(break ) deyimi while ve for döngülerinin acil çıkış kapısı gibidir: break döngü gövdesinin sonundan komutlara ilerlemeyi sağlar. İşte break deyimi ile bir örnek: inputun tüm satırlarını "END" yazanı bulana kadar okuyacak.
continue deyimi bir döngünün kalanını atlayıp, gövdeyi sonraki aşamadan devam ettirmemizi sağlar (buna sonraki tekrarlama "iteration" denir).
break ve continue deyimlerini birlikte kullandığımız görselleştirilmiş bir örnek. Sonucu tahmin edebilir misiniz?




