Podmínky si můžeme představit jako volby různých cest, kudy se vydáme. Podívejme se, jak Python používá podmínky k rozhodování, kterou cestou se program bude ubírat.
Python se ptá pomocí slovíčka if (když) a else (jinak). Když počítač vidí if, ptá se sám sebe na otázku, a pokud je odpověď „ano“, provede věci pod if. Když je odpověď „ne“, pak se zeptá další otázky pod else.
Pojďme se na to podívat prakticky. Představme si, že máme krabičku s bonbóny. Pokud je bonbón červený, řekneme "Dobrá práce!". Pokud je bonbón modrý, řekneme "Zkus to znovu!".
bonbon = "červený"
if bonbon == "červený":
print("Dobrá práce!")
else:
print("Zkus to znovu!")
V podmínce jsme použili porovnávací opearátor ==, který zjišťuje rovnost levé a pravé strany. (Pozor, neplést s =, to slouží k přiřazení do proměnné!) Tenhle operátor není ale jediný, který Ptyhon umí. Je jich mnohem více. Mezi ty základní patří:
== rovnost
!= nerovnost
> větší než
< menší než
>= větší nebo rovno
<= menší nebo rovno
Za podmínkou vždy následuje dvojtečka. Pod ní jsou všechny příkazy odsazeny tabulátorem. U moderních editorů odsazení řešit, dělají je totiž za Tebe.
Někdy chceme mít víc než dvě možnosti. Například, když vybíráme jídlo k večeři. Pokud chceme pizzu, musíme si ji objednat. Pokud chceme hranolky, musíme jít do KFC. Pokud nechceme nic z toho, budeme hladoví.
V téhle situaci použijeme elif (jinak když) následujícím způsobem:
jidlo = "pizza"
if jidlo == "pizza":
print("Musím objednat pizzu.")
elif jidlo == "hranolky":
print("Musím jít do KFC.")
else:
print("Budu hladový.")
Podmínky můžeme také kombinovat. Například, když si vybíráme oblečení. Pokud je venku teplo a slunečno, vezmeme si tričko. Pokud je venku chladno nebo prší, vezmeme si svetr.
teplota = 25
slunce = True
dest = False
if teplota > 20 and slunce:
print("Vezmu si tričko.")
elif teplota < 15 or dest:
print("Vezmu si svetr.")
else:
print("Nevím co si vzít!")
andOperátor and vyžaduje, aby všechny podmínky výrazu byly pravdivé, aby celý výraz byl pravdivý. Jinými slovy pokud je alespoň jedna podmínka neplatná, kód se neprovede.
# Příklad s logickým "a" (and)
x = 5
if x > 0 and x < 10:
print("x je v rozmezí 0 až 10.")
orOperátor or vyžaduje, aby alespoň jedna z podmínek výrazu byla pravdivá, aby celý výraz byl pravdivý. Jinými slovy kód v podmínce se neprovede jen tehdy, když jsou všechny podmínky nepravdivé.
# Příklad s logickým "nebo" (or)
jmeno = "Alice"
if jmeno == "Alice" or jmeno == "Bob":
print("Jméno je buď Alice nebo Bob.")