Boolovské operátory

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