5a Booleans en vergelijken
Je kunt nu variabelen maken, rekenen en tekst opmaken. Er bestaat nog een soort waarde: de boolean, True of False. Elke vergelijking levert er een op, en in de volgende les beslist je programma ermee met if en else.
Booleans
Een boolean heeft maar twee mogelijkheden: True (waar) of False (niet waar).
is_student = True
heeft_kaartje = False
print(is_student) # True
print(heeft_kaartje) # False
Booleans gebruik je om "ja of nee"-feiten op te slaan.
Vergelijkingsoperatoren
Met vergelijkingsoperatoren krijg je altijd een boolean terug:
| Operator | Betekenis | Voorbeeld | Resultaat |
|---|---|---|---|
== | gelijk aan | 5 == 5 | True |
!= | niet gelijk aan | 5 != 3 | True |
< | kleiner dan | 3 < 10 | True |
> | groter dan | 3 > 10 | False |
<= | kleiner of gelijk | 5 <= 5 | True |
>= | groter of gelijk | 3 >= 10 | False |
leeftijd = 16
print(leeftijd >= 18) # False
print(leeftijd < 18) # True
Let op: = slaat een waarde op, == vergelijkt twee waardes. Dat verschil is een van de meest gemaakte fouten in Python.
Een vergelijking opslaan
Een vergelijking levert een boolean op, en die kun je in een variabele bewaren:
leeftijd = 20
mag_stemmen = leeftijd >= 18
print(mag_stemmen) # True
leeftijd = 18
print(leeftijd > 18)
Er gaat iets mis
true met een kleine letter
is_student = true
Uitvoer:
NameError: name 'true' is not defined. Did you mean: 'True'?
True en False beginnen met een hoofdletter. Zonder hoofdletter denkt Python dat je een variabele bedoelt die niet bestaat.
De tekens omgedraaid
leeftijd = 16
print(leeftijd =< 18)
Uitvoer:
SyntaxError: invalid syntax
Het =-teken komt altijd als laatste: <= en >=. Je zegt het ook zo: kleiner of gelijk.
Tekst vergelijken met een getal
print("10" == 10) # False
Python geeft geen foutmelding, maar "10" is tekst en 10 is een getal, en die zijn nooit gelijk. Dit gebeurt met wat je met input() binnenkrijgt. Maak er eerst een getal van met int(), zoals in Tekst naar getal.
Opdracht 5a.1: 18 of ouder
Maak een variabele leeftijd met de waarde 16, en print of die persoon 18 of ouder is.
# Schrijf hier je code
Klik hier voor een tip.
Print de vergelijking leeftijd >= 18 direct.
Klik hier voor de oplossing.
leeftijd = 16
print(leeftijd >= 18)
Uitvoer: False.
leeftijd = 16 print(leeftijd >= 18)
Opdracht 5a.2: Twee booleans
Print twee booleans: is_volwassen (leeftijd 18 of hoger) en is_senior (leeftijd boven 65).
Verwachte uitvoer (bij leeftijd = 70):
Volwassen: True
Senior: True
# Schrijf hier je code
Klik hier voor een tip.
is_volwassen = leeftijd >= 18 en is_senior = leeftijd > 65. Print met een komma: print("Volwassen:", is_volwassen).
Klik hier voor de oplossing.
leeftijd = 70
is_volwassen = leeftijd >= 18
is_senior = leeftijd > 65
print("Volwassen:", is_volwassen)
print("Senior:", is_senior)
leeftijd = 70
is_volwassen = leeftijd >= 18
is_senior = leeftijd > 65
print("Volwassen:", is_volwassen)
print("Senior:", is_senior)Opdracht 5a.3: Leeftijds-check
Schrijf een programma dat met één variabele leeftijd drie booleans berekent en print: is_kind (jonger dan 12), is_tiener (12 of ouder) en is_volwassen (18 of ouder).
Verwachte uitvoer (bij leeftijd = 15):
Kind: False
Tiener: True
Volwassen: False
# Schrijf hier je code
Klik hier voor een tip.
is_kind = leeftijd < 12is_tiener = leeftijd >= 12is_volwassen = leeftijd >= 18
Een strengere tiener-check (12 t/m 19) leer je in de volgende lessen met and.
Klik hier voor de oplossing.
leeftijd = 15
is_kind = leeftijd < 12
is_tiener = leeftijd >= 12
is_volwassen = leeftijd >= 18
print("Kind:", is_kind)
print("Tiener:", is_tiener)
print("Volwassen:", is_volwassen)
In de volgende les ga je deze booleans gebruiken om je programma écht een keuze te laten maken met if en else.
leeftijd = 15
is_kind = leeftijd < 12
is_tiener = leeftijd >= 12
is_volwassen = leeftijd >= 18
print("Kind:", is_kind)
print("Tiener:", is_tiener)
print("Volwassen:", is_volwassen)