Kurs
if…elif…else, belirli bir koşula bağlı olarak farklı kodların otomatik olarak çalıştırılmasını sağlayan Python koşul deyimleridir. Bu eğitimde Python’daki bu yapının her bir deyimi örneklerle birlikte açıklanmaktadır.
Bu eğitimdeki tüm örnek kodları kendiniz kolayca çalıştırmak için, Python’un önceden kurulu olduğu ve tüm kod örneklerini içeren ücretsiz bir DataLab çalışma kitabı oluşturabilirsiniz. if deyimlerinde daha fazla pratik için bu uygulamalı DataCamp alıştırmasına göz atın.…elif…else
if koşulu
if koşulu üçlü yapının en basitidir ve koşulun doğru olup olmamasına göre karar verir. Koşul doğruysa, girintili ifade yazdırılır. Koşul yanlışsa, girintili ifade atlanır.
if condition:
expression
if örneği
Diyelim ki değeri 4 olan bir z değişkeniniz var. Değer 'çift' ise, z 'çift'tir ifadesini yazdıracaksınız. z 'çift' ise 0 döndürecek olan modül 2 işlemcisini kullanacaksınız. Aşağıdaki kodu çalıştırdığınız anda, Python koşulun sağlanıp sağlanmadığını kontrol eder. Doğruysa, ilgili kod yürütülür.
z = 4
if z % 2 == 0: # True
print("z is even")
# z is even
if deyimi içinde birden fazla satır örneği
Aşağıdaki örnekte gösterildiği gibi, if deyimi içinde daha fazla satır bulunması tamamen normaldir. Betiği çalıştırdığınızda iki satır döndürür. Koşul sağlanmazsa, ifade yürütülmez.
z = 4
if z % 2 == 0:
print("checking " + str(z))
print("z is even")
# checking 4
# z is even
Yanlış bir if deyimi örneği
z değerini tek olacak şekilde değiştirelim. Koşul sağlanmayacağı (yani False olacağı) için kodun hiçbir şey yazdırmadığını fark edeceksiniz.
z = 5
if z % 2 == 0: # False
print("checking " + str(z))
print("z is even")
# no output expected
if-else koşulu
if-else koşulu, basit if deyimine kıyasla karar verme sürecine ek bir adım ekler. Bir if-else deyiminin başlangıcı basit bir if deyimine benzer şekilde çalışır; ancak koşul yanlışsa, hiçbir şey yazdırmak yerine else altındaki girintili ifade yazdırılır.
if condition:
expression
else:
expression
if-else örneği
Önceki örneğimizden devam edersek, if koşulu yanlış olduğunda 'z tektir' yazdırmak isterseniz ne olur? Bu durumda else koşulunu eklemeniz yeterlidir. z 5’e eşitken çalıştırırsanız, koşul doğru değildir, bu nedenle else deyimi için yazılan ifade yazdırılır.
z = 5
if z % 2 == 0:
print("z is even")
else:
print("z is odd")
# z is odd
if-elif-else koşulu
Bu koşulların en kapsamlısı if-elif-else koşuludur. Birden fazla koşulunuz olduğunda, if ve else koşulları arasına gerektiği kadar elif koşulu yerleştirebilirsiniz.
if condition:
expression
elif condition:
expression
else:
expression
if-elif-else koşuluna örnek bir
Aşağıda, 2 ve 3’e bölünebilen sayılar için farklı çıktılar istediğiniz bir örnek bulunmaktadır.
Burada z 3’e eşit olduğundan, ilk koşul Yanlış’tır ve bir sonrakine geçilir. Sıradaki koşul Doğru’dur. Bu nedenle, ilgili print deyimi yürütülür.
z = 3
if z % 2 == 0:
print("z is divisible by 2")
elif z % 3 == 0:
print("z is divisible by 3")
else:
print("z is neither divisible by 2 nor by 3")
# z is divisible by 3
if-elif-else koşuluna örnek iki
Aşağıdaki örnekte, room ve area olmak üzere iki değişken tanımlıyorsunuz. Ardından sırasıyla room ve area için if-elif-else ve if-else koşulları kuruyorsunuz.
İlk koşulda, if mutfağa bakıp bakmadığınızı, elif yatak odasına bakıp bakmadığınızı, else ise başka bir yere bakıp bakmadığınızı kontrol edersiniz. room değişkeninin değerine bağlı olarak, sağlanan koşul yürütülür.
Benzer şekilde, area değişkeni için bir if ve else koşulu yazıp area’nın 15’ten büyük olup olmadığını kontrol edersiniz.
# Define variables
room = "bed"
area = 14.0
# if-elif-else construct for room
if room == "kit":
print("Looking around in the kitchen.")
elif room == "bed":
print("Looking around in the bedroom.")
else:
print("Looking around elsewhere.")
# if-elif-else construct for area
if area > 15:
print("Big place!")
else:
print("Pretty small.")
# Looking around in the bedroom.
# Pretty small.
Python’da elif deyimleri hakkında daha fazla bilgi için, Orta Düzey Python kursumuzdaki bu videoya bakın.
Bu içerik, Hugo Bowne-Anderson’ın Orta Düzey Python kursundan alınmıştır.