Week 1 · Les 3 · Python-basis
Keuzes maken — if, elif, else
Tot nu toe deed je programma altijd hetzelfde. Nu leer je het zelf laten kiezen: als iets waar is, doe dan dit — anders dat. Daarvoor heb je een nieuw datatype nodig: de bool.
§1Vergelijken levert True of False op
Zodra je twee dingen met elkaar vergelijkt, geeft Python een antwoord terug dat maar twee waardes kan hebben: True (waar) of False (onwaar). Dat is het datatype bool.
Dit zijn de vergelijkingen die je deze week gebruikt:
| Teken | Betekent | Voorbeeld |
|---|---|---|
> / < | groter dan / kleiner dan | 7 > 2 → True |
>= / <= | groter of gelijk / kleiner of gelijk | 3 >= 3 → True |
== | is gelijk aan | 4 == 5 → False |
!= | is niet gelijk aan | 4 != 5 → True |
§2if en else: het splitsingspunt
Met if stel je een vraag die True of False oplevert. Is het antwoord True, dan draait het blok eronder. Denk aan de lengtecheck bij een achtbaan: ben je lang genoeg, dan mag je erin.
Hier is lengte 130, dus de vraag lengte >= 120 is True en draait het bovenste blok. Was lengte bijvoorbeeld 110, dan kreeg je Nog even groeien… te zien.
Twee dingen zijn hier cruciaal, en die vergeet iedereen in het begin:
- De dubbele punt
:aan het eind van deif-regel. - Het inspringen (4 spaties) van de regels eronder.
Dat inspringen is Python's manier om te zien wat bij wat hoort. Alles wat inspringt onder de if, hoort bij "als het waar is". Alles onder de else hoort bij "anders". Vergeet je de inspringing, dan snapt Python niet meer welke regel bij welke keuze hoort.
§3Meer dan twee keuzes: de elif-ladder
Vaak zijn er meer dan twee mogelijkheden. Dan hang je er elif's (kort voor else if) tussen. Python loopt de ladder van boven naar beneden af en stopt bij de eerste die True is:
Bij een cijfer van 7 is de eerste vraag (cijfer >= 6) al True, dus print Python geslaagd en negeert de rest van de ladder. Zou cijfer een 5 zijn, dan sloeg Python de eerste over en kwam bij herkansing uit.
§4Pas op: == is niet =
Dit is de klassieker waar iedereen intrapt. Beide gebruiken een =-teken, maar ze doen iets totaal anders:
⚠️ Veelgemaakte fout
Eén = is toewijzen: "stop dit in het doosje" (les 1). Dubbel == is vergelijken: "zijn deze twee gelijk?". In een if wil je bijna altijd de dubbele: if leeftijd == 18:.
🔮 Voorspel de uitvoer
Denk aan les 2 — tekst en getallen zijn verschillende types. Wat komt hieruit?
Links staat de str "3" (tekst), rechts de int 3 (een getal). Voor Python zijn dat twee verschillende dingen, dus ze zijn niet gelijk: False. Precies het verschil uit les 2!
🧠 Test jezelf
Vier korte vragen. Je krijgt meteen te zien of je het goed hebt — fout is niet erg, daar leer je van!