Výuka IT

Podmínky a logické operátory

Podmínky

Podmínky si můžeme představit jako volby různých cest, kudy se vydáme. Podívejme se, jak Python používá podmínky k rozhodování, kterou cestou se program bude ubírat.

Obrázek nelze načíst.

Jak se počítač ptá?

Python se ptá pomocí slovíčka if (když) a else (jinak). Když počítač vidí if, ptá se sám sebe na otázku, a pokud je odpověď „ano“, provede věci pod if. Když je odpověď „ne“, pak se zeptá další otázky pod else.

Pojďme se na to podívat prakticky. Představme si, že máme krabičku s bonbóny. Pokud je bonbón červený, řekneme "Dobrá práce!". Pokud je bonbón modrý, řekneme "Zkus to znovu!".

bonbon = "cerveny"
      
      if bonbon == "cerveny":
          print("Dobra prace!")
      else:
          print("Zkus to znovu!")

V podmínce jsme použili porovnávací opearátor ==, který zjišťuje rovnost levé a pravé strany. (Pozor, neplést s =, to slouží k přiřazení do proměnné!) Tenhle operátor není ale jediný, který Python umí. Je jich mnohem více. Mezi ty základní patří:

Za podmínkou vždy následuje dvojtečka. Pod ní jsou všechny příkazy odsazeny tabulátorem. U moderních editorů odsazení řešit, dělají je totiž za nás.

Co když chceme mít více možností?

Někdy chceme mít víc než dvě možnosti. Například, když vybíráme jídlo k večeři. Pokud chceme pizzu, musíme si ji objednat. Pokud chceme hranolky, musíme jít do KFC. Pokud nechceme nic z toho, budeme hladoví.

V téhle situaci použijeme elif (jinak když) následujícím způsobem:

jidlo = "pizza"
      
      if jidlo == "pizza":
          print("Musim objednat pizzu.")
      elif jidlo == "hranolky":
          print("Musim jit do KFC.")
      else:
          print("Budu hladovy.")

Logické operátory

Podmínky můžeme také kombinovat. Například, když si vybíráme oblečení. Pokud je venku teplo a slunečno, vezmeme si tričko. Pokud je venku chladno nebo prší, vezmeme si svetr.

teplota = 25
      slunce = True
      dest = False
      
      if teplota > 20 and slunce:
          print("Vezmu si tricko.")
      elif teplota < 15 or dest:
          print("Vezmu si svetr.")
      else:
          print("Nevim co si vzit!")

Logický operátor and

Operátor and vyžaduje, aby všechny podmínky výrazu byly pravdivé, aby celý výraz byl pravdivý. Jinými slovy pokud je alespoň jedna podmínka neplatná, kód se neprovede.

# Příklad s logickým "a" (and)
      x = 5
      if x > 0 and x < 10:
          print("x je v rozmezi 0 az 10.")

Logický operátor or

Operátor or vyžaduje, aby alespoň jedna z podmínek výrazu byla pravdivá, aby celý výraz byl pravdivý. Jinými slovy kód v podmínce se neprovede jen tehdy, když jsou všechny podmínky nepravdivé.

# Příklad s logickým "nebo" (or)
      jmeno = "Alice"
      if jmeno == "Alice" or jmeno == "Bob":
          print("Jmeno je bud Alice nebo Bob.")

Procvičování

Tohle by bylo z teorie vše, a proto nastává čas si znalosti procvičit. Zde jsou pro nás připravena zadání (včetně řešení) a nakonec testovací kvíz.