Een logische test
Alle logische tests die we in onze computertaal met nullen en enen konden doen, kunnen we ook in Python doen. Uit een logische test komt altijd als waarde True of FALSE. Een variabele die een van deze twee waarden heeft, noemen we een Boolean. Dit heet zo, omdat onze standaard logica met waar en onwaar Booleaanse logica heet.
In Python doen we deze logische tests op de volgende manier:
a == b Dit test of a en b dezelfde waarde hebben.
a > b Dit test of a een grotere waarde dan b heeft.
a >= b Dit test of a groter of gelijk is aan b.
a < b Dit test of a kleiner dan b is.
a <= b Dit test of a kleiner of gelijk aan b is.
a != b Dit test of a ongelijk aan b is.
Let op dat er een groot verschil is tussen = en ==. Als je a=b typt, betekent dit dat je de waarde die in b staat ook in a zet. Bij a==b test je echter of de waarden die a en b hebben gelijk zijn (zonder verder iets te wijzigen aan de waarden in a of b).
Opdracht 6:
Denk na wat de uitkomst zal zijn van de onderstaande regels. Test dit vervolgens op de Python Playground:
print( - 7 <= -5)
print( 8 == 8.0)
print(8 == "8")
a = 3 - 1/10000000000000000000000000000000000000000000000000000000
b = 3
print(a == b)
Uitwerking:
Als output krijg je:
True
True
False
True
De logica is als volgt:
- -7 is links op de getallenlijst ten opzichte van -5. Daarom is – 7 <= -5 True.
- Een integer met waarde 8 en een kommagetal met waarde 8.0 worden bij deze test bij Python als dezelfde waarde gezien. In Python is 8 == 8.0 dus True.
- Een string (stukje tekst) heeft nooit dezelfde waarde als een integer. Dus 8 == “8” is False.
- Tot slot zijn floats in Python niet oneindig nauwkeurig. De waarde 3 – 1/10000000000000000000000000000000000000000000000000000000 wordt dus gewoon als 3 opgeslagen. De computer zegt daarom dat dit gelijk is aan 3.