Booleaanse expressies

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.

Vergelijkingen

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 )

Logische operatoren

Met behulp van de logische operatoren and, or en not kan je booleaanse expressies combineren. In Minecraft deed je dit als volgt:

minecraft logische operator

Een logische operator in Minecraft Education Edition

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

Opgave

Hieronder vind je een functie die nagaat of een getal deelbaar is door 6 en door 8. Vul de code aan.

Voorbeelden

>>> deelbaar_zes_en_acht(24)
True
>>> deelbaar_zes_en_acht(30)
False