De test die bepaalt welke tak van een keuzestructuur wordt uitgevoerd noemt men een booleaanse expressie. De acties worden enkel uitgevoerd indien de test Waar
of met andere woorden True
is.
De meestgebruikte booleaanse expressies zijn vergelijkingen. Een vergelijking bestaat uit twee waardes met een vergelijkingsoperator ertussen:
operator | beschrijving |
---|---|
< |
kleiner dan |
<= |
kleiner dan of gelijk aan |
== |
gelijk aan |
>= |
groter dan of gelijk aan |
> |
groter dan |
!= |
niet gelijk aan |
In de volgende code zit een fout, wat is er hier fout?
x = 46
if x % 10 = 6:
print( 'x heeft een 6 als eenheid' )
Opgelet
Een veel gemaakte fout is om twee waarden te vergelijken met een enkele
=
, dit is echter de toekenningsoperator!
Je kan een booleaanse expressie ook toekennen aan een variabele.
getal = int( input( 'Geef een getal in: ' ) )
is_even = getal % 2 == 0
print( is_even )
Met behulp van de logische operatoren and
, or
en not
kan je booleaanse expressies combineren. In Minecraft deed je dit als volgt:
In Python gebruik je de volgende code:
t = True
f = False
print( t and t )
print( t and f )
print( f and t )
print( f and f )
print( t or t )
print( t or f )
print( f or t )
print( f or f )
print( not t )
print( not f )
Kijk wel uit bij het gebruik van logische operatoren, combinaties kunnen snel leiden tot onverwachte resultaten. Gebruik daarom haakjes om ervoor te zorgen dat ze in de juiste volgorde geƫvalueerd worden.
Geef voor de code hieronder waardes voor a
, b
, and c
, die ertoe leiden dat de twee expressies verschillende uitkomsten hebben.
a = # True of False?
b = # True of False?
c = # True of False?
print( (a and b) or c )
print( a and (b or c) )
Hieronder vind je een functie die nagaat of een getal deelbaar is door 6 en door 8. Vul de code aan.
>>> deelbaar_zes_en_acht(24)
True
>>> deelbaar_zes_en_acht(30)
False