Python Podmíněné příkazy: IF…Else, ELIF & Switch Case
⚡ Chytré shrnutí
Python Podmíněné příkazy řídí tok programu spuštěním specifických bloků kódu pouze tehdy, když se booleovské výrazy vyhodnotí jako true. Patří mezi ně if, else, elif, vnořený if, ternární operátor a strukturální porovnávání vzorů pro čistou logiku řízenou rozhodováním.

V čem jsou podmíněné příkazy Python?
Podmíněné příkazy v Python provádět různé výpočty nebo akce v závislosti na tom, zda je konkrétní booleovské omezení vyhodnoceno jako pravda nebo nepravda. Umožňují programu činit rozhodnutí a sledovat různé cesty místo toho, aby spouštěl každý řádek postupně. V Python, podmíněné příkazy jsou zpracovávány pomocí if příkaz a jeho doprovodné příkazy: else, elif a vnořený if.
Co je to Python Pokud prohlášení?
Jedno Python pokud prohlášení se používá pro rozhodovací operace. Obsahuje tělo kódu, které se spustí pouze tehdy, když je podmínka daná v příkazu if pravdivá. Pokud je podmínka nepravdivá, spustí se místo ní volitelný příkaz else, který obsahuje kód pro podmínku else. Pokud chcete reagovat na jednu podmínku, zatímco jiná není pravdivá, použijete příkaz Python if- else prohlášení.
Python if syntaxe příkazu:
if expression:
statement
else:
statement
Python pokud…jinak vývojový diagram
Výše uvedený vývojový diagram ukazuje, jak řízení probíhá prostřednictvím příkazu if-else. Podívejme se na příklad Python Příkaz if-else v akci:
# Example file for working with conditional statements
def main():
x, y = 2, 8
if(x < y):
st = "x is less than y"
print(st)
if __name__ == "__main__":
main()
- Code Řádek 3: Definujeme dvě proměnné x, y = 2, 8.
- Code Řádek 4: Příkaz if kontroluje podmínku x < y, která je Pravdivý v tomto případě.
- Code Řádek 5: Proměnná st je nastavena na hodnotu „x je menší než y“.
- Code Řádek 6: Řádková funkce print(st) vypíše hodnotu st, která je „x je menší než y“.
Co se stane, když podmínka „pokud“ není splněna
V návaznosti na předchozí příklad se podívejme, co se stane, když je podmínka if v Python není splněna. Pokud je podmínka nepravdivá a neexistuje žádná větev else, odsazený kód se zcela přeskočí.
# Example file for working with conditional statements
def main():
x, y = 8, 4
if(x < y):
st = "x is less than y"
print(st)
if __name__ == "__main__":
main()
- Code Řádek 3: Definujeme dvě proměnné x, y = 8, 4.
- Code Řádek 4: Příkaz if kontroluje podmínku x < y, která je Falešný v tomto případě.
- Code Řádek 5: Proměnná st je NENÍ nastavte na „x je menší než y“.
- Code Řádek 6: Řádek print(st) se pokouší vytisknout proměnnou, která nikdy nebyla deklarována, takže Python vyvolává NameError.
Jak používat podmínku „else“
Abyste se vyhnuli výše uvedené chybě, můžete přidat podmínku else. Podmínka else se používá, když musíte posoudit jeden příkaz na základě jiného. Pokud je jedna podmínka nepravdivá, blok else poskytuje alternativní cestu, takže program stále generuje výsledek.
Příklad:
# Example file for working with conditional statements
def main():
x, y = 8, 4
if(x < y):
st = "x is less than y"
else:
st = "x is greater than y"
print(st)
if __name__ == "__main__":
main()
- Code Řádek 3: Definujeme dvě proměnné x, y = 8, 4.
- Code Řádek 4: Příkaz if kontroluje podmínku x < y, která je Falešný v tomto případě.
- Code Řádek 6: Tok řízení programu přechází do podmínky else.
- Code Řádek 7: Proměnná st je nastavena na „x je větší než y."
- Code Řádek 8: Řádková funkce print(st) vypíše hodnotu st, která je „x je větší než y“.
Když podmínka „else“ nefunguje
Podmínka else vám ne vždy dá požadovaný výsledek. Může vytisknout nesprávný výstup, pokud je v logice programu chyba. To se obvykle stává, když musíte v programu zdůvodnit více než dva příkazy nebo podmínky. Příklad vám pomůže tento koncept pochopit.
Zde jsou obě proměnné stejné (8, 8), přesto je výstup programu „x je větší než y,“ , která je ŠPATNĚK tomu dochází, protože program kontroluje první podmínku (podmínku if) a pokud selže, vypíše druhou podmínku (podmínku else) jako výchozí. V dalším kroku se podíváme, jak tuto chybu opravit.
# Example file for working with conditional statements
def main():
x, y = 8, 8
if(x < y):
st = "x is less than y"
else:
st = "x is greater than y"
print(st)
if __name__ == "__main__":
main()
Jak používat podmínku „elif“
Pro opravu předchozí chyby způsobené podmínkou else můžeme použít Elif příkaz. Použitím podmínky elif sdělíte programu, aby otestoval třetí možnost, když je první podmínka nepravdivá. Můžete zřetězit více podmínek elif a zkontrolovat tak čtvrtou, pátou a další možnosti ve vašem kódu.
Příklad:
# Example file for working with conditional statements
def main():
x, y = 8, 8
if(x < y):
st = "x is less than y"
elif(x == y):
st = "x is same as y"
else:
st = "x is greater than y"
print(st)
if __name__ == "__main__":
main()
- Code Řádek 3: Definujeme dvě proměnné x, y = 8, 8.
- Code Řádek 4: Příkaz if kontroluje podmínku x < y, která je Falešný v tomto případě.
- Code Řádek 6: Tok řízení programu přechází k podmínce elif. Kontroluje se, zda x == y, což je pravda.
- Code Řádek 7: Proměnná st je nastavena na „x je stejné jako y."
- Code Řádek 10: Řídicí prvek programu ukončí příkaz if (nedosáhne příkazu else) a vypíše st. Výstup je „x je stejné jako y“, což je správně.
Jak provést podmíněný příkaz s minimalistickým kódem Code
Nyní, když umíte psát celé bloky if-elif-else, Python umožňuje zhustit jednoduchou podmínku do jednoho řádku. Místo psaní samostatného kódu pro každou větev můžete použít ternární (podmíněný) výraz.
Syntaxe:
value_if_true if condition else value_if_false
Příklad:
def main():
x, y = 10, 8
st = "x is less than y" if (x < y) else "x is greater than or equal to y"
print(st)
if __name__ == "__main__":
main()
- Code Řádek 2: Definujeme dvě proměnné x, y = 10, 8.
- Code Řádek 3: Proměnná st se nastaví na hodnotu „x je menší než y“, pokud x < y; jinak se nastaví na hodnotu „x je větší nebo rovno y“. Protože zde x > y, stává se st druhou hodnotou.
- Code Řádek 4: Vypíše hodnotu st a vrátí správný výstup.
Python Vnořený příkaz if
Vnořený příkaz if umisťuje jeden příkaz if do druhého, což je užitečné, když rozhodnutí závisí na druhé podmínce. Následující příklad demonstruje vnořený příkaz if v Python který vypočítává loďping cena se odvíjí od země a celkové ceny objednávky.
total = 100
# country = "US"
country = "AU"
if country == "US":
if total <= 50:
print("Shipping Cost is $50")
elif total <= 100:
print("Shipping Cost is $25")
elif total <= 150:
print("Shipping Cost is $5")
else:
print("FREE")
if country == "AU":
if total <= 50:
print("Shipping Cost is $100")
else:
print("FREE")
Odkomentujte řádek 2 ve výše uvedeném kódu, zakomentujte řádek 3 a spusťte kód znovu, abyste viděli, jak se výstup změní pro jinou zemi.
Zapněte prohlášení o případu Python
Co je to příkaz Switch?
Příkaz switch je příkaz s vícecestným větvením, který porovnává hodnotu proměnné s hodnotami uvedenými v příkazech case. Po mnoho let Python Jazyk neměl příkaz switch, takže vývojáři implementovali stejné chování s Python slovník mapaping.
Příklad použití slovníkové mapyping:
def switch_example(argument):
switcher = {
0: "This is Case Zero",
1: "This is Case One",
2: "This is Case Two",
}
return switcher.get(argument, "nothing")
if __name__ == "__main__":
argument = 1
print(switch_example(argument))
Přepínací pouzdro se shodou (Python 3.10 a Later)
Od Python 3.10 (vydáno v říjnu 2021), Python poskytuje nativní pouzdro na zápalky příkaz, známý jako strukturální porovnávání vzorů. Nabízí čistou a čitelnou alternativu k dlouhým řetězcům elif a výše uvedenému slovníkovému přístupu.
def switch_example(argument):
match argument:
case 0:
return "This is Case Zero"
case 1:
return "This is Case One"
case 2:
return "This is Case Two"
case _:
return "nothing"
if __name__ == "__main__":
print(switch_example(1))
Podtržítko (_) funguje jako výchozí velikost případu a odpovídá jakékoli hodnotě, která nebyla zpracována předchozími případy, stejně jako výchozí hodnota v tradičním příkazu switch.
if vs elif vs else: Rychlé srovnání
Použijte toto srovnání k rozhodnutí, která podmíněná struktura odpovídá vaší rozhodovací logice.
| výkaz | Účel | Kdy použít |
|---|---|---|
| if | Spustí blok, když je podmínka pravdivá. | Jediné rozhodnutí ano/ne |
| pokud…jinak | Poskytuje záložní možnost, když je podmínka nepravdivá. | Dva vzájemně se vylučující výsledky |
| Elif | Testuje další podmínky postupně | Tři nebo více možností |
| Vnořené pokud | Umístí operátor if do jiného operátoru if | Rozhodnutí, které závisí na druhé podmínce |
| Trojice | Zhušťuje if-else do jednoho řádku | Jednoduché přiřazení hodnoty |
| pouzdro na zápalky | Porovnává hodnotu s mnoha vzory | Vícecestné větvení (Python 3.10 +) |







