Ísť späť
Kvíz: Vetvenie, logické operátory
Na čo slúži elif v Pythone?
Na opakovanie kódu
Na definovanie funkcie
Na pridanie ďalšej podmienky medzi if a else
Na ukončenie programu
Koľko vetiev elif môže mať jeden if blok?
maximálne 1
maximálne 5
neobmedzene
presne 2
Správna odpoveď je neobmedzene, pretože Python neobmedzuje počet elif vetiev v jednom rozhodovacom bloku. Môžeš ich použiť toľko, koľko potrebuješ.
Ktorý operátor znamená „a zároveň“?
or
and
not
==
Čo vypíše tento kód?
A
B
A aj B
Nič
Program vypíše A, pretože prvá podmienka x > 5 je splnená. Keď sa splní if, ostatné vetvy (elif alebo else) sa už nekontrolujú. Preto sa elif x > 8 vôbec nevyhodnotí, aj keď by bola tiež pravdivá.
Ktoré z týchto výrazov môžu byť použité v podmienke if?
x > 5
x == 10
x + 5
x < 3 and x > 1
cislo > 3 and < 5
Správne odpovede sú x > 5, x == 10 a x < 3 and x > 1, pretože ide o logické výrazy, ktoré vracajú hodnotu True alebo False. Podmienka if potrebuje práve takýto výsledok. Výraz x + 5 nie je logická podmienka, je to len matematický výpočet, ktorý nevracia priamo logickú hodnotu. cislo > 3 and < 5 by vyhodil chybu, keďže používa nesprávny syntax (zápis).
Čo znamená operátor or?
obe podmienky musia byť pravdivé
aspoň jedna podmienka musí byť pravdivá
neguje podmienku
porovnáva čísla
Ktorý zápis je správne reťazové porovnanie?
10 < x < 20
10 < x and < 20
x > 10 > 20
x < (10 < 20)
Čo vypíše tento kód?
OK
Not ok
Nič sa nevypíše
Vyhodí sa chyba
Ktoré z týchto výrazov znamenajú „x je medzi 1 a 10“?
1 < x < 10
x > 1 and x < 10
x < 1 and x > 10
not (x <= 1 or x >= 10)
Správne výrazy sú 1 < x < 10, x > 1 and x < 10 a not (x <= 1 or x >= 10), pretože všetky vyjadrujú, že x je väčšie ako 1 a menšie ako 10. Python umožňuje aj reťazové porovnanie 1 < x < 10. Výraz x < 1 and x > 10 je nesprávny, pretože číslo nemôže byť zároveň menšie ako 1 a väčšie ako 10.
Čo vypíše tento kód?
A
B
C
Nič sa nevypíše
Program vypíše B, pretože prvá podmienka x < 10 je nepravdivá. Python preto skontroluje ďalšiu vetvu elif x < 20, ktorá je pravdivá. Vetva else sa vykoná iba vtedy, keď žiadna predchádzajúca podmienka neplatí.
x = 10
if x > 5:
print("A")
elif x > 8:
print("B")
x = 5
if x > 3 and x < 10:
print("OK")
else:
print("Not ok")
x = 12
if x < 10:
print("A")
elif x < 20:
print("B")
else:
print("C")