Nadřazené | Řízení výpočtu |
Předcházející | Logické výrazy v Pythonu, Podmínky s proměnnými |
Navazující | Cyklus while v Pythonu |
Podmíněné vykonání příkazu zapisujeme pomocí if
. Jako podmínku můžeme použít libovolný logický výraz. Podmíněně můžeme vykonat také více příkazů. Blok příkazů vyznačujeme odsazením:
if answer != 42: # příkazy se vykonají pouze, pokud je podmínka splněna:
print("Bad answer") # vypíšeme text
answer = 42 # a navíc změníme proměnnou
Else větev
Můžeme také říct, co se má stát, když podmínka splněna není. K tomu slouží příkaz else
, který je následovaný odsazeným blokem příkazů:
if x < 10:
print("small") # provede se, pokud podmínka je splněna
else:
print("big") # provede se, pokud podmínka není splněna
Jednotlivým variantám výpočtu říkáme větve a podmíněný příkaz můžeme také označovat jako větvení.
Vícenásobné větvení
Pokud chceme testovat více možností, můžeme použít konstrukci if / elif / else
. V některých programovacích jazycích se pro vícenásobné větvení používá příkaz switch
. Tento příkaz v Pythonu nemáme, vystačíme si s využitím elif
. Příklad:
if age < 6:
print("předškolák")
elif age < 18: # testuje se, pokud neplatí předchozí podmínka
print("školák")
elif age < 65: # testuje se, pokud neplatí ani jedna předchozí podmínka
print("dospělý ")
else: # provede se, pokud neplatí ani jedna předchozí podmínka
print("důchodce")
Z if/elif
větví se provede maximálně jedna z nich – ta první, u které je splněna podmínka. Pokud v uvedeném příkladě je v proměnné age
uložena hodnota 15, vypíše se pouze text „školák“. Podmínka age < 65
je sice také splněna, ale k jejímu vyhodnocování již nedojde.
Vnořené větvení
Podmíněné příkazy můžeme i zanořovat, tj. některá z větví můžem mít další větvení. U následných větví pak musíme zvýšit odsazení. Můžeme tedy psát například:
if choice == "tea":
if money >= 10:
print("ok")
else:
print("refuse")
else:
print("not available")
if n % 2 == 1:
if x > 13:
print("Win!")
V některých případech je však jednodušší a přehlednější místo vnořeného kódu použít jednoduchý podmíněný příkaz s podmínkou využívající logické operace. Například druhý uvedený příklad můžeme zjednodušit takto:

Rozhodovačka
Rychlé procvičování výběrem ze dvou možností.

Podmíněný příkaz (if) v Pythonu (lehké)
43 zadání
Typicky zabere: 9 min
Ukázka
Co vypíše program?name = "Tom"
if name == "Tom":
print("foo")
print("bar")
Co vypíše program?x = 3
if x < 5:
x = x + 1
else:
x = x - 1
print(x)
Co vypíše program?x = 25
if x < 20:
if x < 10:
print("aaa")
else:
print("bbb")
else:
print("ccc")

Podmíněný příkaz (if) v Pythonu (střední)
46 zadání
Typicky zabere: 16 min
Ukázka
Existujex
, pro které se vypíše mrkev i celer?if x > 0:
x -= 2
print("mrkev")
if x < 0:
print("celer")
Zjednodušte podmíněný příkaz:if x == y:
print("mrkev")
elif x == 0:
print("celer")
elif y == 0:
print("celer")
else:
print("mrkev")
Zjednodušte podmíněný příkaz:if n >= 5:
print("okurka")
else:
if n < 3:
print("mrkev")
else:
print("celer")

Psaná odpověď
Cvičení, ve kterém píšete odpověď na klávesnici.

Podmíněný příkaz (if) v Pythonu (lehké)
13 zadání
Typicky zabere: 5 min
Ukázka
a = 8
if a < 10:
a = 10
print(a)
else:
print(7)
x = 5
if x < 10:
print("foo", end=" ")
print("bar")
x = 13
if x < 10:
x = x + 2
print(x)

Programování v Pythonu
Programování přímo v prohlížeči, s automatickým vyhodnocením správnosti programu. Cvičení používá programovací jazyk Python 3.
V tomto cvičení píšete programy, které pracují s textem a čísly. Pokud chcete obrázky, zkuste cvičení Python želva.
Podmíněný příkaz (if): základy
Sada příkladů na základní if-else podmínky v Pythonu.
Podmíněný příkaz (if): těžší
Sada mírně pokročilejších příkladů na podmínky. V této sadě se využije i if-elif-else, případně vnořené podmínky.