Python-101, Bölüm 3: koşullar ve döngüler

Giriş seviyesinde bir Python rehberi

Python'da bilmeniz gereken bir diğer önemli nokta da koşullar ve döngülerdir.

Koşullar

Python'da koşullar if, elif ve else adındaki üç ifade ile sağlanır. Program ilk önce verilen bilginin if ifadesine uyup uymadığına bakar. Program, bilginin if ifadesine uymaması durumunda elif ifadesine uygunluğuna, ona da uymazsa else ifadesine uygunluğuna bakar.

Programa 7'den küçük bir sayı verince çıktı
Programa 7'ye eşit bir sayı verince çıktı
Programa 7'den büyük bir sayı verince çıktı

Yukarıdaki örnekte görüldüğü üzere x'e farklı değerler verilmesi sonucunda farklı sonuçlar elde edilmiştir. Ayrıca programda bir diğer önemli nokta if, elif ve else ifadelerinin yerleşimi. if, elif ve else ifadelerinden sonra gelecek ifadeler girintili olmalıdır. Bu girintiler her koşul ifadesinden sonra tekrar edilmelidir ve aynı düzeyde olmalıdır (örnekteki koşul ifadelerinin altındaki kısımlar gibi). Ayrıca her koşul ifadesinden sonra iki nokta (:) koyulması gerekmektedir (if x > 7: ifadesinin sonunda olduğu gibi). Bir diğer önemli nokta da eşitlik durumudur. Eşitlik için tek eşittir (=) işareti yerine art arda iki eşittir (==) işareti kullanılması gerekir (elif x == 7: ifadesindeki gibi).

if, elif ve else ifadelerini iç içe kullanmak da mümkündür. Bu durumda içteki koşul ifadeleri için girintiyi arttırmak gerekmektedir.

İç içe iki if, elif, else ifadesini içeren bir program

Eğer iki farklı koşul varsa yalnızca if ve else kullanılabilir.

Sadece if ve else içeren bir program

Eğer koşul sayısı üçten fazlaysa birden fazla elif ifadesi kullanılabilir. Bu durumda program if ifadesinden sonra bilgiyi sırayla elif ifadelerinden geçirir.

Birden fazla elif ifadesi içeren bir program

Yukarıdaki programda görüldüğü üzere küçüktür (<) ifadesi kullanmaya gerek olmamıştır çünkü x verisi, if ifadesinden itibaren koşulu sağlamadıkça bir alt koşula iletilmiştir. Koşulu sağladığında da çıktı olarak verilmiştir.

Döngüler

Python içinde iki farklı döngü ifadesi vardır. while ve for. İki döngü ifadesi de aynı sonucu verir ancak eğer döngü sayısını bilmiyorsanız while ifadesi ile döngü yazmak daha iyi olacaktır çünkü for ifadesi döngü sayısına çok bağlıdır, belirsizlik durumunda for ifadesini kullanarak hatalı program yazmak çok kolaydır. Döngüler kullanılırken kurallar koşul ifadeleri gibidir. Döngü ifadeleri iki nokta (:) ile biter, altındaki ifade girintilidir.

while

while ifadesi, bir koşula bağlı olan döngüler için idealdir. Genelde kaç döngü gerektiğinin bilinmediği durumlarda da while döngüleri kullanılır.

while döngüsü ile çalışan bir program

Yukarıdaki fonksiyon while ifadesi ile çalışan bir programı göstermektedir. İlk başta 60 olarak belirttiğimiz x, 50'den büyük olduğu sürece sayıyı yazacak bir programın içine konuyor. Her sayı yazıldığında x birer birer azalıyor. Bu x'in değeri 50'ye inene kadar devam ediyor. Çıktı kısmında 51'den başlayarak 60'a kadar olan sayıları görebilirsiniz.

for

for ifadesi, döngü sayısının bilindiği durumlarda idealdir. Ayrıca string tipindeki dizimler de for ifadesi kullanılarak bir döngüye sokulabilir. Daha anlatılmamış olsa da, list adı verilen ve kare parantez ile gösterilen listelerin de döngüye katılmasında idealdir.

for ifadesi ile string döngüsü belirten bir program

Yukarıdaki program bir string döngüsüne örnektir. Program string içerisindeki a harfleri için a çıktısını verirken string içerisindeki diğer harfler için 0 çıktısını vermektedir.

for ifadesi ile liste döngüsü belirten bir program

Yukarıdaki program bir listenin (list) döngüsüne örnektir. Program a adındaki listenin elemanlarını döngüye sokar. Eğer listenin elemanlarından birinin (i) 2'ye bölümünden kalan 0 ise program o elemanın (2 ve 4) çıktısını verir.