Studijní materiály
Český jazyk Fyzika Python Matematika IVT ZSV VV
EXTRA Kontakt

Podmínky

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.

Obrázek nelze načíst.

Jak se počítač ptá?

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ří:

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.

Co když chceme mít více možností?

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ý.")

Kombinace podmínek s logickými operátory

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!")

Logický operátor and

Operá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.")

Logický operátor or

Operá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.")