Proloog

Op een mondeling examen logica:

Student: ik ga eerlijk zijn professor, ik ben echt niet goed in logica.

Professor: Spring uit het raam!

Student: Bent u zot? Neen!

Professor: Voila, je kan wel logisch nadenken.

Logische operatoren

Net zoals we gezien hebben dat er wiskundige operatoren zijn voor integers en floats (+, -, / etc.) zijn er ook logische operatoren voor booleans.

De drie fundamentele logische operatoren

Er zijn drie fundamentele operatoren.

not

not is de negatie van de boolean. Deze zet True om in False en vice versa.

and

and (en) geeft True wanneer beide booleans True zijn en False in de andere gevallen.

or

or (of) geeft True wanneer één of meer booleans True zijn en wanneer beide False zijn geeft het ook False.

Test volgende gevallen in de pythonshell:

  1. True and False
  2. True or False
  3. not True

Volgorde der operaties en complexe bewerkingen

Net zoals er de volgorde der bewerkingen is in de wiskunde is er ook een volgorde van uitvoeren voor logische operatoren. De volgorde is not, and, or. Doordat deze weinig gekend is wordt er sterk geadviseerd om voldoende haakjes te plaatsen zodanig je code niet twijfelachtig wordt geïnterpreteerd.

Je kan dus net zoals in de wiskunde complexe bewerkingen doen. Test zelf:

  1. (True and False) and False
  2. False or False or not False

xor

Dit deel is enkel voor enthousiastelingen.

xor (exclusive or) is een logische operator afgeleid uit de drie fundamentele operatoren. Uit volgende voorbeelden probeer je zelf te ontdekken wat deze wilt zeggen. (xor wordt in python geschreven door ^)

  1. True ^ False
  2. True ^ True
  3. False ^ False

Probeer nu zelf xor uit te drukken met enkel de fundamentele operatoren.

Voor meer informatie lees H6.1.4 Logische operatoren in het boek.