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')