pythonzomerschool

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.

print(5 > 3) print(5 < 3)
True False

Dit zijn de vergelijkingen die je deze week gebruikt:

TekenBetekentVoorbeeld
> / <groter dan / kleiner dan7 > 2True
>= / <=groter of gelijk / kleiner of gelijk3 >= 3True
==is gelijk aan4 == 5False
!=is niet gelijk aan4 != 5True

§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.

lengte = 130 if lengte >= 120: print("Je mag in de achtbaan!") else: print("Nog even groeien…")
Je mag in de achtbaan!

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:

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:

cijfer = 7 if cijfer >= 6: print("geslaagd") elif cijfer == 5: print("herkansing") else: print("gezakt")
geslaagd

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?

print("3" == 3)
False

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!