Koşullu mantık ile kod akışını denetleme (eğer, elif, değilse)
Tip
Daha fazla ayrıntı için Metin ve resimler sekmesine bakın!
Artık programınız koşulları değerlendirebildiğine göre, bunları kullanarak kodunuzun izlediği yollara yol gösterebilirsiniz. Python, programınızın akışında Doğru veya Yanlış sonuçlarına göre yönlendirmek için , elifve else deyimlerini kullanırif. Bu yaklaşım koşullu mantık olarak adlandırılır.
if deyimi
Deyimi if , kod bloğunu yalnızca bir koşul olduğunda Trueçalıştırır. İçindeki kodun girintili olması gerekir; Python blokta hangi satırların olduğunu bilmek için girinti kullanır:
score = 85
if score >= 90:
print("Congratulations!")
print("Grade: A")
print("Program complete.")
90'dan küçükse score , blok içindeki if girintili kod atlanır ve program bloktan sonraki satırla devam eder.
Girintileme ve iki nokta üst üste kuralları
Python kod bloklarını birlikte gruplandırmak için katı kurallar kullanır:
İki nokta üst üste (
:): Koşullu deyimin sonuna iki nokta üst üste yerleştirmelisiniz. Bu, Python sonraki girintili satırların bu koşullu bloğa ait olduğunu bildirir.Girinti: Aynı bloktaki her satır aynı girintiyi kullanmalıdır. Tutarlı olarak dört boşluk (veya Sekme) kullanın.
Kod bloğunu tamamlamak için blok sonrasındaki sonraki satırın girintisini kaldırmanız gerekir. Bu girintisiz çizgi, bloğun sona erdiğini Python için sinyal gönderir. Yukarıdaki örnekte çizginin print("Program complete.") girintisi kaldırılmış olduğundan koşuldan if bağımsız olarak çalışır.
Else ile alternatif yollar ekleme
Koşul şu Falseolduğunda farklı bir kod bloğu çalıştırmak için kullanınelse:
score = 75
if score >= 90:
print("Grade: A")
else:
print("Grade: B or lower")
Elif ile zincirleme koşulları
İkiden fazla olası yolunuz varsa, ek koşulları denetlemek için kullanabilirsiniz elif ("değilse" kısaltması).
İlk maç kazanır
Python her koşulu sırayla denetler. İlk True koşulu bulduğunda, bu bloğu çalıştırır ve gerisini atlar. Koşullardan Truehiçbiri değilse bloğu çalıştırır else (varsa).
score = 85
if score >= 90:
print("Grade: A")
elif score >= 80: # Python stops here! 85 >= 80 is True.
print("Grade: B")
elif score >= 70: # Skipped entirely, even though 85 >= 70 is also true.
print("Grade: C")
else: # Skipped entirely.
print("Grade: D or lower")
Output:
Grade: B
Python ilk True koşuldan sonra zincirden çıktığı için, koşullarınızı en özelden en az belirliye doğru sıralayınız. Aksi takdirde, beklediğiniz koşullara asla ulaşamayabilirsiniz.