Met voorwaardelijke code kunnen we heel wat programma’s vormen, van eenvoudig tot erg complex.
🧠 Denkoefening - Groter of niet?
Kijk naar het volgende programma. Beredeneer wat de uitvoer zal zijn, zonder het programma uit te voeren.
# Definieer 2 getallen x = 5 y = 42 # Controleer de voorwaarde if x > y: print('Groter') else: print('Niet groter')
Voer nu de code hierboven uit in de sandbox en kijk na of je voorspelling klopte.
Het programma hierboven test of x groter is dan y. In de praktijk wil je vaak meer dan twee opties hebben, bijvoorbeeld groter dan, gelijk aan of kleiner dan. Je kan dit doen door meerdere voorwaarden achter elkaar te schrijven. Of door verschillende voorwaarden in elkaar te schrijven.
👀 Voorbeeld - Groter, kleiner of gelijk
De volgende code checkt voor twee getalen x en y of x groter is dan y, gelijk is aan y of kleiner is dan y.
# Definieer 2 getallen x = 5 y = 42 # Controleer de voorwaarde if x > y: print('Groter') else: if x == y: print('Gelijk') else: print('Kleiner')
Experimenteer in de sandbox met de code hierboven door de waardes voor x en y aan te passen.
🧠 Denkoefening - Stroomdiagram
Stel het stroomdiagram op van het programma dat hierboven staat.
We zeggen dat de tweede if genest is: ze bevindt zich geïndenteerd onder een andere voorwaarde. Verschillende voorwaarden in elkaar plakken is niet zo handig, omdat je telkens verder naar rechts moet indenteren. Python heeft hier een verkorte versie voor: elif
.
👀 Voorbeeld - Groter, kleiner of gelijk
Hieronder zie je een alternatieve manier om het bovenstaande programma te schrijven. Het gedrag van de code is exact hetzelfde.
# Definieer 2 getallen x = 5 y = 42 # Controleer de voorwaarde if x > y: print('Groter') elif x == y: print('Gelijk') else: print('Kleiner')
💡 Hint
Let goed op de indentatie in deze code.
De instructie elif
voegt niets nieuws toe: het is een afgekorte versie van een else
gevolgd door een nieuwe if
. De stroomdiagrammen van de twee bovenstaande programma’s zijn dus identiek. Toch is het een goede gewoonte elif
te gebruiken: het maakt de code meer leesbaar en overzichtelijk.
👀 Voorbeeld - Een el kan het verschil maken
Vergelijk de onderstaande 2 stukken code en voer ze uit in de sandbox.
# Definieer x x = 10 if x > 5: print('x is groter dan 5') # Hier gebruiken we een elif elif x > 8: print('x is groter dan 8')
# Definieer x x = 10 if x > 5: print('x is groter dan 5') # Hier gebruiken we nu if in plaats van elif if x > 8: print('x is groter dan 8')
In het eerste stuk code, wordt gebruik gemaakt van de
elif
. De voorwaardex > 8
wordt dus enkel bekeken als de voorwaarde ervoor (x > 5
) niet waar is. Hierdoor wordt de tweede print dus niet uitgevoerd.In het tweede stuk code staan er twee
if
-statements na elkaar. De voorwaarde van het tweedeif
-statement wordt sowieso gecontroleerd, ongeacht het resultaat van de voorwaarde van het eersteif
-statement.
🧠 Denkoefening - Andere waarden
Wat zou de uitvoer zijn van de twee stukken code hierboven als je de waarde van x verandert naar:
- 4
- 7
Verklaar waarom dit zo is.
💻 Programmeeroefening - Pretpark attracties
Schrijf in de editor hieronder een programma dat bepaalt op welke attracties pretparkbezoekers mogen op basis van hun leeftijd.
vraag de gebruiker naar zijn leeftijd met de vraag:
Wat is jouw leeftijd in jaren?
.Hier zie je welke melding er getoond moet worden voor elke leeftijd:
- 12 jaar of jonger: “Je krijgt enkel toegang tot de kinderattracties.”
- tussen 12 en 16 jaar: “Je krijgt enkel toegang tot de gevaarlijke attracties met een volwassen begeleider.”
- 16 jaar of ouder: “Je krijgt toegang tot alle attracties.”