- Karşılaştırma işleçleriyle
Trueya daFalsesonucu elde etmek if,elifveelseile dallanan programlar yazmak- Koşulları
and,orvenotile birleştirmek
Her gün onlarca karar veririz: yağmur yağıyorsa şemsiye alırız, trafik ışığı kırmızıysa bekleriz, ödev bittiyse oyuna çıkarız. Programlar da böyle çalışır: bir durumu kontrol eder ve sonuca göre farklı adımlar atar. Python'da bunun için koşul ifadeleri kullanılır.
Karşılaştırma işleçleri
Her kararın temelinde “evet” ya da “hayır” ile cevaplanan bir soru vardır. Python'da bu tür sorular karşılaştırma işleçleriyle yazılır ve cevap her zaman mantıksal bir değerdir: True (doğru) ya da False (yanlış).
| İşleç | Anlamı | Örnek |
|---|---|---|
== | eşittir | 5 == 5 → True |
!= | eşit değildir | 5 != 3 → True |
> | büyüktür | 2 > 7 → False |
< | küçüktür | 2 < 7 → True |
>= | büyük ya da eşittir | 7 >= 7 → True |
<= | küçük ya da eşittir | 8 <= 7 → False |
age = 14
print(age > 12)
print(age == 18)
print(age != 18)
print('Baku' == 'baku')
print(5 <= 5)▸ Beklenen çıktı
True False True False True
if ifadesi
if sözcüğünden sonra koşul yazılır, sonuna da iki nokta (:) konur. Koşul True ise altındaki girintili satırlar çalışır; False ise Python onları atlar.
temperature = 32
if temperature > 30:
print('It is hot today!')
print('Drink more water.')
print('Have a nice day.')▸ Beklenen çıktı
It is hot today! Drink more water. Have a nice day.
temperature değerini 20 yap ve sonucun nasıl değiştiğine bak.Satır başındaki boşluklar. Python'da girinti, hangi satırların bir blok oluşturduğunu gösterir. Genellikle 4 boşluk kullanılır. Örnekteki son satır girintili olmadığı için koşuldan bağımsız olarak her zaman çalışır.
else ve elif
else (“aksi hâlde”), koşul yanlış olduğunda ne yapılacağını belirtir. Örneğin bir sayının çift olup olmadığını 2'ye bölümden kalana bakarak kontrol edebiliriz:
number = 7
if number % 2 == 0:
print(number, 'is even')
else:
print(number, 'is odd')▸ Beklenen çıktı
7 is odd
İkiden fazla seçenek olduğunda elif (“else if” kısaltması) yardıma gelir. Python koşulları yukarıdan aşağıya kontrol eder ve ilk doğru koşulun bloğunu çalıştırır; geri kalanlara bakmaz. Hiçbiri doğru değilse else bloğu çalışır.
score = 78
if score >= 90:
grade = 'Excellent'
elif score >= 75:
grade = 'Good'
elif score >= 50:
grade = 'Satisfactory'
else:
grade = 'Try again'
print(f'Score {score}: {grade}')▸ Beklenen çıktı
Score 78: Good
score >= 75 çalışır.and, or, not
A and B— koşulların ikisi de doğruysaTrue.A or B— koşullardan en az biri doğruysaTrue.not A— koşulu tersine çevirir:True,Falseolur ve tersi.
age = 15
has_ticket = True
is_weekend = False
if age >= 12 and has_ticket:
print('You can watch the film.')
if is_weekend or age < 7:
print('Free entry!')
else:
print('Entry costs 5 AZN.')
if not is_weekend:
print('See you after school!')▸ Beklenen çıktı
You can watch the film. Entry costs 5 AZN. See you after school!
and, AND kapısı gibi çalışır. OR ve NOT kapılarını da seç ve tablolarını karşılaştır.Bir yıl 4'e bölünüyorsa artık yıldır; ama 100'e bölünen yıllar ancak 400'e de bölünüyorsa artık yıl sayılır. 2024'ün artık yıl olup olmadığını kontrol eden bir koşul yaz.
Çözümü gösterÇözümü gizle
and ile yazarız: year % 4 == 0 and year % 100 != 0.“ya da 400'e bölünür” kısmını
or ile ekleriz: or year % 400 == 0.Parantezler ilk kısmı bir arada tutar. Sonuç aşağıdaki kodda.
year = 2024
if (year % 4 == 0 and year % 100 != 0) or year % 400 == 0:
print(year, 'is a leap year')
else:
print(year, 'is not a leap year')▸ Beklenen çıktı
2024 is a leap year
number değişkenine bak: sayı sıfırdan büyükse positive, küçükse negative, sıfıra eşitse zero yazdır. if, elif ve else kullan. Her dalı denemek için number'ın değerini değiştir.
number = -7
# print positive, negative or zero▸ Beklenen çıktı
negative
Aysel'in puanı score = 83 ve ödevini de yapmış (homework_done = True). Önce notunu yazdır: puan en az 90 ise A, en az 75 ise B, en az 50 ise C, aksi hâlde F. Ardından puan en az 80 ve ödev yapılmışsa ayrı bir satıra Bonus star! yazdır.
score = 83
homework_done = True
# 1) print A, B, C or F
# 2) print Bonus star! if score >= 80 and the homework is done▸ Beklenen çıktı
B Bonus star!
Önemli noktalar
- Karşılaştırma işleçleri (
==,!=,<,>,<=,>=)Trueya daFalsedöndürür. ifkoşulu iki noktayla biter, bloğu ise 4 boşlukla içeriden yazılır.- Bir
elifzincirinde yalnızca ilk doğru koşulun bloğu çalışır; hiçbiri doğru değilseelseçalışır. andiki koşulun da doğru olmasını,oren az birinin doğru olmasını ister;notise koşulu tersine çevirir.=atamadır,==ise karşılaştırma.
Kendini test et
10 soru. Her doğru cevap XP kazandırır.
10 != 10 ifadesinin sonucu nedir?