Python Programlama Koşullar-Döngüler

Koşullar (If-Else)

Koşullar (if-else) kavramlarına oldukça aşina olduğunuzu varsayıyorum. Python dilinde koşullarda diğer dillerden farklı olan özelliklerini ve kullanım şeklini inceleyeceğiz.

Python dilinde alışık olduğumuz kullanımdan farklı olarak parantez içi ve curly bracket kullanılmıyor. Örneğin,

a = 33
b = 15

if a > b:
print("a daha buyuktur")

Dikkatinizi çeken şey curly bracket ({}) olmadan yazılmasıdır. Yazdığınız koşuldan sonrasında expressions kısmına (mesela buradaki print fonksiyonu) sol taraftan bir boşluk vermeniz gerekiyor (whitespace). Diğer dillerde bracketler ile ayrılırken Python dili boşluklar ile çalışıyor.
O yüzden Python’da kodlama yaparken boşluklara çok dikkat etmeliyiz.

“Elif” diğer dillerde else if olarak kullanımını görmüş olma olasılığınızın yüksek olduğu bir kavram. If bloklarının altına eğer bir tane daha koşul eklemek istiyorsak elifden faydalanıyoruz.

a = 33
b = 15

if a > b:
print("a daha buyuktur")

elif a==b:
print("bu rakamlar esit")

else:
print("b daha buyuk")

Eğer tek satırlık expressionunuz olacaksa,

if a > b: print("a") else print("b")

şeklinde yazabilirsiniz.

Hatta bir satırda 3 farklı koşulu bile yazabilirsiniz.

print("a") if a > b else print("=") if a==b else print("b")

Bir önceki yazımda operatörlerden bahsetmiştim. Koşullarda ve/veya anlamına gelen mantıksal operatörlerimizin kullanımına bakalım.

a = 50
b = 33
c = 12

if a > b and a > c:
print("iki kosul da dogru")

if a > b or c > a:
print("en azindan biri buyuk")

İç içe if döngüleri de yazabiliriz. Ancak boşluklara dikkat etmeliyiz.

if a > 49:
print("a 49\' dan daha buyuk")
if b > 35:
print("b 35\'den daha buyuk")
else:
print("b 35\'den daha buyuk degil")

 

Döngüler

While Döngüsü

Python dilinde basit bir while döngüsü yazmak istersek,

i = 0
while i < 8:
print(i)
i += 1

Burada da koşullar ile aynı şey geçerli soldan bıraktığımız boşluklara dikkat etmeliyiz yoksa programımız hata verir.

While döngüsünde break (yani eğer bu koşul gerçekleşirse, döngüyü sonlandır) kullanmak istersek,

i = 0
while i < 8:
print(i)
if == 6:
break
i += 1

Aynı döngüyü break yerine continue (koşul doğruysa devam et) de yazarak yapabilirdik.

Syntax farklı hariç korkacak bir şey olmadığını görmüşsünüzdür, hatta while döngüsünün bir artı özelliği ise else kullanabilmemizdir,

i = 0
while i < 8:
print(i)
i += 1
else:
print("i artik 8\'den daha buyuk degil")

Bu tür kullanım ile birlikte eğer while döngüsünün koşulu çalışmaz ise else durumu bastırılacaktır. Bu şekilde while döngünüzü kontrol edebilirsiniz.

For Döngüsü

Python dilinde for döngüsü C, Java gibi dillere oranla birazcık farklı. Hemen kullanımı üzerinden incelersek,

my_list = ["mercedes", "audi", "bmw"]
for x in fruits:
print(x)

Stringlerin de aslında bir array olduğundan bahsetmiştik. For döngüsü kullanarak Stringlerin karakterlerini de bastırabiliriz.

for x in "elma":
print(x)

For döngülerinde break kullanmak istersek,

my_list = ["mercedes", "audi", "bmw"]
for x in fruits:
print(x)
if x == "audi""
break

Bu kullanımda listemin elemanlarını bastır, eğer audi elemanını görürsen döngüyü kır diyoruz. Yani bmw’yi bastırmayacak.

Diğer bir farklı özellik olarak for döngüsünde range fonksiyonunu kullanabilmemizdir.

for x in range(7):
print(x)

Bu kullanım ile birlikte 7’ye kadar x değerlerini bastır demiş oluyoruz.

Not: Dikkat edilmesi gereken range fonksiyonun 0 dan başlamasıdır ve 7 yazdığınızda 6 dahil 6’ya kadar bastıracaktır.

Range fonksiyonunu 2 parametre ile de kullanabiliriz,

for x in range(3,7):
print(x)

Buradaki kullanım, 3’den 7’ye kadar sayıları bastır anlamına geliyor. Matematiksel olarak gösterirsek [3,7).

Eğer range fonksiyonuna 3. parametreyi eklersek bu da sayıların kaçar kaçar artacağını belirtir. (default olarak 1 artıyordu)

Aynı while döngüsünde olduğu gibi else koşulunu for döngüsünde de kullanabiliriz.

İç içe for döngüsü yazmak istersek,

for x in my_list:
for y in my_list2:
print(x,y)

şeklinde yazılabilir.

Döngüler ve koşullar yazısını burada sonlandırıyorum. Bir sonraki yazımda tekrardan listeler, tuples gibi veri tiplerini inceleyeceğiz.