Logické výrazy Python vyhodnocuje na hodnoty True (pravda) a False (nepravda). Přesný zápis těchto konstant bývá zdrojem chyb:

  • Velké písmeno je důležité: True je logická konstanta (pravda), kdežto true je název proměnné (která může držet libovolnou hodnotu).
  • "True" a "False" (tj. názvy logických konstant psány v uvozovkách) jsou obyčejné řetězce, nikoliv konstanty se speciálním významem.

Operátory porovnání

Základním logickým výrazem je porovnání mezi dvěma výrazy (např. porovnání hodnoty proměnné a konstanty). Operátory větší/menší zapisujeme podobně jako v matematice (> a <), „větší/menší nebo rovno“ zapisujeme >= a <=. Test na rovnost provádíme pomocí dvou rovnítek (==). Test na nerovnost zapisujeme !=.

Příklady:

x = 42     # přiřazení do proměnné

x == 42    # test rovnosti

x != 42    # test nerovnosti

x > 42     # je větší

x >= 42    # je větší nebo rovno

Pozor na rozdíl mezi přiřazením do proměnné (jedno rovnítko) a testem na rovnost (dvě rovnítka).

Python obsahuje i další pokročilejší operátory. Mezi záludné patří is, které se chová podobně jako == a jeho použití bývá zdrojem chyb. Operátor is je užitečný nástroj pro pokročilé programátory, začátečníkům silně doporučujeme se mu vyhnout.

Logické spojky

Základní logické výrazy můžeme kombinovat pomocí klasických logických spojek (pro procvičení významu spojek využijte cvičení Binární křížovka:

  • not = negace
  • and = a zároveň (konjunkce) = výsledek je True, pokud jsou oba dva argumenty True
  • or = nebo (disjunkce) = výsledek je True, pokud je alespoň jeden z argumentů True

Příklady:

a = True    # pravda

b = False   # nepravda

c = a or b  # nebo -> True

c = a and b # a zároveň -> False

c = not a   # negace -> False

Priority logických operátorů jsou sestupně: not, and, or (tj. nejvyšší prioritu má not). Pro změnu priority či větší čitelnost výrazů můžeme využít závorky.

x = a or b and c   # nejdříve se vyhodnotí and, až poté or

x = a or (b and c) # to stejné jako předchozí, jen čitelněji zapsáno

x = (a or b) and c # tentokrát se nejdřív vyhodnotí or

x = not a or b     # nejdříve not, až potom or

x = not (a or b)   # nejdříve or, potom not

Rozhodovačka

Rychlé procvičování výběrem ze dvou možností.


Logické výrazy v Pythonu  Nový obsah   


Programování v Pythonu

Programování přímo v prohlížeči, s automatickým vyhodnocením správnosti programu. Cvičení používá programovací jazyk Python 3.

V tomto cvičení píšete programy, které pracují s textem a čísly. Pokud chcete obrázky, zkuste cvičení Python želva.


Logické výrazy v Pythonu

NAPIŠTE NÁM

Nevíte si rady?

Nejprve se prosím podívejte na časté dotazy:

Časté dotazy Návody pro rodiče Návody pro učitele

Čeho se zpráva týká?

Obsah Ovládání Přihlášení Licence Různé

Text zprávy

E-mailová adresa (ať Vám můžeme odpovědět)


Odeslat

Vzhledem k uzavření škol mají systémy Umíme zvýšený provoz a množství dotazů. Prosím zasílejte pouze nezbytné dotazy a připomínky. Před zasláním dotazu si prosím prohlédněte časté dotazy. Děkujeme za pochopení.
Prosím nezasílejte dotazy na prozrazení řešení úloh či na vysvětlení postupu. Děkujeme.