Podobne ako vieme robiť operácie na celých číslach, chceli by sme vedieť
robiť operácie aj na booloch. Máme k dispozícii 3
operátory: and
,
or
a not
.
Operátor and
zodpovedá konštrukcii a zároveň
, teda obe hodnoty musia
byť True
, a potom je aj výsledok True
.
Operátor or
zodpovedá konštrukcii alebo
, teda aspoň jedna hodnota
musí byť True
, a potom je aj výsledok True
.
Operátor not
zodpovedá konštrukcii nie
a vráti opak toho čo sa ním nasleduje.
Príklad použitia:
print(True and True) # True
print(True and False) # False
print(True or True) # True
print(True or False) # True
print(False or False) # False
print(not True)
# False
print(not False)
# True
Výsledky boolovských operátorov sú možno prehľadnejšie v tabuľke:
a |
b |
a and b |
---|---|---|
True |
True |
True |
True |
False |
False |
False |
True |
False |
False |
False |
False |
a |
b |
a or b |
---|---|---|
True |
True |
True |
True |
False |
True |
False |
True |
True |
False |
False |
False |
a |
not a |
---|---|
True |
False |
False |
True |
Samozrejme, pomocou logických operátorov vieme skladať viac výrazov v
podmienkach Výraz <podmienka1> and <podmienka2>
sa vyhodnotí
ako
True
ak sú obe podmienky splnené. Výraz
<podmienka1> or <podmienka2>
sa vyhodnotí ako True
ak aspoň jedna z
podmienok je splnená.
V podmienkach môžeme používať zátvorky na
zvýšenie prehľadnosti poradia operácii.
if (x % 2 == 0) and (x % 3 == 0):
print('x je delitene 6')
# podmienka vyssie je ekvivalentna vnorenym podmienkam
if x % 2 == 0:
if x % 3 == 0:
print('x je delitene 6')
if (meno == 'Jozko') or (meno == 'Maria'):
print('meno je Jozko alebo Maria')