Bloky kódu
Blok může mít tolik řádků, kolik potřebujete. Všechny odsazené řádky pod if patří do jeho bloku, a když je podmínka pravdivá, provedou se všechny, jeden po druhém:
teplota = 32
if teplota > 30:
print("Je velké horko")
print("Pijte hodně vody")
print("Hezký den")Tento kód vypíše:
Je velké horko
Pijte hodně vody
Hezký denBlok končí prvním řádkem, který už odsazený není. Tento řádek, print("Hezký den"), je mimo blok, a proto se provede vždy, ať je podmínka pravdivá, nebo ne.
Proto je v Pythonu odsazení tak důležité. Častou chybou je zapomenout odsadit řádek, který do bloku patří. Python žádnou chybu neohlásí, protože program je pořád správně zapsaný. Jen dělá něco jiného, než jste chtěli:
teplota = 20
if teplota > 30:
print("Je velké horko")
print("Pijte hodně vody")Tento kód vypíše:
Pijte hodně vodyHorko není, takže Python blok přeskočí. Jenže print("Pijte hodně vody") do bloku nepatří, a tak se provede i při 20 stupních.
Opačná chyba, odsazení řádku, který do žádného bloku nepatří, skončí chybou IndentationError: unexpected indent (nečekané odsazení). A všechny řádky jednoho bloku musí být odsazené o stejný počet mezer, takže se držte 4.
Jak psát:
Pokyny
Program radí připojit nabíječku, i když je baterie nabitá na 80 %. Odsaďte řádek print("Připojte nabíječku") o 4 mezery, aby patřil do bloku příkazu if. Program pak vypíše jen Baterie: 80.
Změňte baterie na 15 a spusťte program. Teď je podmínka pravdivá a program vypíše všechny tři řádky: Slabá baterie, Připojte nabíječku a Baterie: 15.