Stojíš na rozcestí. Když prší, jdeš autobusem. Jinak jdeš pěšky. Takové rozhodování dělá i program: podle situace provede jednu nebo druhou část kódu.
Bez podmínek by program dělal pořád totéž. S nimi umí zkontrolovat heslo, ohodnotit test nebo poznat, že hráč prohrál.
True (pravda), nebo False (nepravda). Hodnotám True a False se říká pravdivostní hodnoty, typ bool.teplota < 0 je True, když mrzne.if / elseKdyž podmínka za if platí, provede se blok pod ním. Jinak se provede blok pod else.if teplota < 0: → print("Mrzne"), else: → print("Nemrzne")if, musí být odsazené (obvykle 4 mezery). Odsazením Python pozná, kde blok začíná a končí. Řádek za if končí dvojtečkou.Neodsazený řádek za blokem se provede vždy.| Operátor | Význam | Příklad (x = 5) | Výsledek |
|---|---|---|---|
== | rovná se | x == 5 | True |
!= | nerovná se | x != 5 | False |
< > | menší, větší | x > 3 | True |
<= >= | menší nebo rovno, větší nebo rovno | x <= 4 | False |
vek = int(input("Věk: "))if vek >= 18: print("Jsi plnoletý.")else: print("Ještě nejsi plnoletý.")print("Konec")Pro věk 20 vypíše „Jsi plnoletý.“ a „Konec“. Pro věk 15 vypíše „Ještě nejsi plnoletý.“ a „Konec“. Poslední řádek není odsazený, proto se provede pokaždé.
if x % 2 == 0: → print("sudé"), else: → print("liché")?1 == 0 je False, provede se větev else: vypíše liché.heslo == "Tajne123" pravdivá?"tajne123" je False.if x = 5:if x == 5:Jedno = je přiřazení (ulož), dvě == porovnání (rovná se?). Python if x = 5: odmítne jako syntaktickou chybu.
if provede blok, když podmínka platí, else když neplatí. Řádek s if končí dvojtečkou a blok je odsazený. Porovnání je ==, ne =.Učitel převádí body z testu na známku. 90 a víc je jednička, 75 a víc dvojka, 50 a víc trojka, jinak pětka. Tady nestačí dvě cesty, potřebuješ jich víc. A často musí platit víc věcí najednou: do kina smíš, když máš lístek a je ti aspoň 15.
Naučíš se elif pro víc větví a logické operátory and, or a not, kterými skládáš podmínky.
True nebo False (typ bool). Vzniká hlavně porovnáním: ==, !=, <, >, <=, >=.body >= 90elifZkratka „else if“. Další podmínka, která se zkouší, jen když všechny předchozí neplatily. Provede se jen první větev, jejíž podmínka platí.if a: …, elif b: …, else: …and (a zároveň): pravda, jen když platí obě části. or (nebo): pravda, když platí aspoň jedna. not (ne): obrátí pravdu na nepravdu a naopak.vek >= 15 and ma_listekand je jen jeden řádek True: True and True.| A | B | A and B | A or B | not A |
|---|---|---|---|---|
| True | True | True | True | False |
| True | False | False | True | False |
| False | True | False | True | True |
| False | False | False | False | True |
if body >= 90: znamka = 1elif body >= 75: znamka = 2elif body >= 50: znamka = 3else: znamka = 5elif. Pak další.else.vek >= 15 and ma_listek, když vek = 16 a ma_listek = False?ma_listek je False. True and False = False. Do kina nesmí.Roztřiď výrazy podle výsledku. U and musí platit obě strany, u or stačí jedna.
if body >= 50 → 3, elif body >= 75 → 2, elif body >= 90 → 1.>= 90, pak >= 75, pak >= 50.Provede se jen první platná větev. Pro 95 bodů by platilo už >= 50 a žák by dostal trojku.
elif přidává další větve, provede se jen první platná. and chce obě podmínky, or aspoň jednu, not obrací pravdu. U rozsahů řaď podmínky od nejpřísnější.