Martin Svoboda

Martin Svoboda - Blog

Podmínky 2: Pravda, nepravda a porovnávání


Bool Typ

Než se dostaneme k podmínkám, je důležité pochopit nový datový typ - bool. Bool typ, pojmenovaný po Georgi Booleovi, anglickém matematikovi, je jednoduchým datovým typem, který může obsahovat pouze dvě hodnoty: True nebo False, česky bychom řekli pravda nebo nepravda. Někdy se jim také říká logická proměnná, logical, apod. V programování nám umožňují provádět logické operace a rozhodovat se na základě určitých podmínek.

V Pythonu jsou booleovy hodnoty reprezentovány klíčovými slovy True a False, nezapomínej, že Python rozlišuje velká a malá písmena.

Příklad použití bool typu:

# proměnné - bool
is_true = True
is_false = False

print(is_true)   # True
print(is_false)  # False

print(type(is_true))  # <class 'bool'>
print(type(is_false)) # <class 'bool'>

Porovnávací Operátory

Porovnávací operátory slouží k porovnávání hodnot a výsledkem porovnání je vždy logická hodnota - True nebo False. Asi si vzpomínáte z matematiky na operátory jako větší > a menší <.

Například, pokud máme dvě čísla cislo1 a cislo2, můžeme porovnat, zda je cislo1 větší než cislo2 nebo zda je cislo1 menší než cislo2.

cislo1 = 5
cislo2 = 10

print(cislo1 > cislo2)  # False
print(cislo1 < cislo2)  # True

je_cislo1_vetsi = cislo1 > cislo2
print(je_cislo1_vetsi)  # False

Kromě operátorů větší a menší můžeme zjišťovat také rovnost. V Pythonu je operátor rovnosti reprezentován dvěma rovnítky ==, protože jedno rovnítko = je vyhrazeno pro přiřazení hodnoty.

heslo = "tajne"

print(heslo == "tajne")   # True
print(heslo == "tajne2")  # False
print(heslo != "tajne")   # False
print(heslo != "tajne2")  # True

Operátor != znamená nerovnost, tedy zda se dvě hodnoty nerovnají.

Dále existují operátory jako >= (větší nebo rovno) a <= (menší nebo rovno). Nedá se říct, že by některý byl méně užitečný než jiný. Všechny jsou důležité a mohou se hodit v různých situacích.

# všechny logické operátory

print(cislo1 == cislo2) # rovná se
print(cislo1 > cislo2)  # větší než
print(cislo1 < cislo2)  # menší než
print(cislo1 >= cislo2) # větší nebo rovno
print(cislo1 <= cislo2) # menší nebo rovno
print(cislo1 != cislo2) # nerovná se

Funkce bool()

Funkce bool() slouží k převodu jiného datového typu na bool. Většinou vrací True, s výjimkou několika specifických případů, jako je nula (0, 0.0) nebo prázdný řetězec ("").

Příklady použití funkce bool():

# převod na bool

# int na bool
print(bool(0))  # False
print(bool(1))  # True
print(bool(2))  # True
print(bool(-1)) # True

# float na bool
print(bool(0.0))  # False
print(bool(0.1))  # True
print(bool(-0.1)) # True

# str na bool
print(bool(""))    # False
print(bool(" "))   # True
print(bool("Ahoj"))# True

Kontrolní Otázky

Pokud to dokážeš vysvětlit někomu jinému vlastními slovy, jsi na dobré cestě tomu rozumět. Dokážeš odpovědět na tyto otázky?

  1. Co je datový typ bool a proč je v programování důležitý?
  2. Jak jsou v jazyce Python reprezentovány logické hodnoty?3
  3. Jak můžeš v jazyce Python porovnat dvě hodnoty a zjistit, zda se rovnají, nebo ne?
  4. Jaké jsou operátory porovnávání v jazyce Python a jaké jsou jejich funkce?
  5. Jakou roli hraje funkce bool() a jak ji lze v Pythonu použít?
  6. Jaké jsou příklady hodnot, které se po předání funkci bool() převedou na True a False?

Kvízy

Kvíz:

True a False jsou klíčová slova v jazyce Python a představují logické hodnoty.

  1. Pravda
  2. Nepravda
Kvíz:

Operátor porovnání pro rovnost v jazyce Python je =.

  1. Pravda
  2. Nepravda
Kvíz:

Funkci bool() lze použít k převodu jiných datových typů na boolean.

  1. Pravda
  2. Nepravda
Kvíz:

Funkce bool("0") vrátí hodnotu False.

  1. Pravda
  2. Nepravda
Kvíz:

Funkce bool(-1) vrátí Pravda.

  1. Pravda
  2. Nepravda
Kvíz:

Jaký bude výstup následujícího kódu: bool(0.1)

  1. True
  2. False
  3. 0.1
  4. Žádný
Kvíz:

Který z následujících operátorů je porovnávacím operátorem “NENÍ ROVNO” v jazyce Python?

  1. /=
  2. !=
  3. ><
  4. ===
Kvíz:

Jaký bude výstup následujícího kódu: print("Hello" == "Hello")

  1. True
  2. False
  3. Hello
  4. Nic
Kvíz:

Který z následujících příkazů vrátí False?

  1. bool('False')
  2. bool(0)
  3. bool(' ')
  4. bool(-0,5)
Kvíz:

Co vrátí následující kód: print(bool(""))

  1. True
  2. False
  3. ""
  4. Nic

Cvičení

Cvičení 1: Porovnávání čísel

  1. Přiřaďte libovolná dvě různá čísla dvěma různým proměnným.
  2. Vypište výsledek porovnání těchto čísel pomocí každého z operátorů porovnávání.

Cvičení 2: Porovnávání řetězců

  1. Přiřaďte dva různé řetězce dvěma různým proměnným.
  2. Porovnejte tyto dva řetězce pomocí operátorů rovnosti a nerovnosti. Vypište výsledky.

Cvičení 3: Porozumění funkci bool()

  1. Převeďte různé datové typy (int, float, string) na boolean pomocí funkce bool(). Vyberte hodnoty, které vracejí jak True, tak False. Vypište výsledky.

Cvičení 4: Vlastní Porovnání

  1. Vymyslete si vlastní porovnání, které byste chtěli provést v Pythonu. Například, zda je vaše oblíbená barva stejná jako barva vašeho trička. Vypište výsledek porovnání.