Programátoři často porovnávají různé hodnoty. Pojďme se podívat, jak na to.
>>> 5 > 2
True
>>> 5 > 8
False
>>> 5 < 8
True
Když se Pythonu zeptáš, jestli je jedno číslo větší než druhé, odpoví ti
True (pravda) nebo False (nepravda).
Funguje to i se složitějšími výrazy:
>>> 5 > 2 * 2
True
„Větší než“ a „menší než“ jsou značky známé z matematiky. Chceš-li se ale zeptat, jestli jsou dvě čísla stejná, je potřba použít trochu jiný zápis:
>>> 1 == 1
True
Jedno rovnítko = používáme pro přiřazení hodnoty do proměnné.
Když chceš zkontrolovat, jestli se věci navzájem rovnají, vždy, vždy
musíš dát dvě rovnítka ==.
Další možnosti porovnávání jsou nerovnost (≠), větší nebo rovno (≤)
a meší nebo rovno (≥).
Většina lidí tyhle symboly nemá na klávesnici, a tak Python používá !=, <=
a >=.
>>> 5 != 2
True
>>> 3 <= 2
False
>>> 6 >= 12 / 2
True
Už jsi někdy slyšela výraz „srovnávat jablka a hrušky“? Zkusme v Pythonu ekvivalent:
>>> 1 > 'krajta'
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: '>' not supported between instances of 'int' and 'str'
Stejně jako nelze srovnávat „jablka a hrušky“,
Python není schopen porovnávat řetězce (str) a čísla (int).
Místo toho zobrazí TypeError a říká nám, že tyto dva typy nelze porovnat.
Co se stane, když v minulé ukázce zaměníš > za ==?
Chceš zkusit ještě něco? Zadej tohle:
>>> 6 > 2 and 2 < 3
True
>>> 3 > 2 and 2 < 1
False
>>> 3 > 2 or 2 < 1
True
V Pythonu můžeš zkombinovat několik porovnání do jednoho!
and, obě strany musí být pravdivé, aby byl celý výraz pravdivý.or, stačí aby jen jedna strana z porovnání byla pravdivá.Nebylo by pěkné zjistit, jestli tvoje číslo vyhrálo v loterii?
Máš-li seznam, operátorem in se můžeš zeptat, jestli je v něm daný prvek:
>>> loterie = [3, 42, 12, 19, 30, 59]
>>> 18 in loterie
False
>>> 42 in loterie
True
Není to úplně porovnání, ale dostaneš stejný druh výsledku jako s < či ==.
Právě ses dozvěděla o novém typu objektu v Pythonu. Už známe typy řetězc, číslo, seznam nebo slovník; přidali jsme k nim pravdivostní hodnotu, nebo častěji anglicky boolean.
Pravdivostní hodnoty jsou jenom dvě: True (pravda) nebo False (nepravda).
Aby Python pochopil, že se jedná o tento typ,
je potřeba dávat pozor na velikost písmen.
true, TRUE, tRUE nebude fungovat – jedině True je správně.
Jako každou hodnotu, i boolean můžeš uložit do proměnné:
>>> a = True
>>> a
True
Stejně tak můžeš uložit i výsledek porovnání:
>>> a = 2 > 5
>>> a
False
V této sekci ses dozvěděla:
>, >=, == <=, <, != a inand a or umí zkombinovat dvě porovnání.True (pravda) nebo False (nepravda).