if elif of twee keer if
We kunnen het vorige voorbeeld ook zonder elif
doen. Maar dan doet het programma iets dat je misschien niet verwacht:
aantal_appels = int(input("Hoeveel appels wil je? "))
if aantal_appels > 20:
print("Sorry, zoveel appels hebben we niet.")
if aantal_appels >= 5:
print("Prima!")
Zie je het verschil? Vul maar eens 25 appels in!
Met if
elif
wordt altijd 1 van de mogelijkheden uitgevoerd. De rest wordt overgeslagen.
Als je twee keer een if
gebruikt worden allebei de mogelijkheden gecontroleerd.
Volgorde van if en elif
De volgorde is wel belangrijk hierbij! De keuzes worden van boven naar beneden bekeken. Zodra er 1 keuze klopt dat wordt de rest overgeslagen.
Probeer maar eens 25 in te voeren in het voorbeeld hieronder.
aantal_appels = int(input("Hoeveel appels wil je? "))
if aantal_appels >= 5:
print("Prima!")
elif aantal_appels > 20:
print("Sorry, zoveel appels hebben we niet.")
else:
print("Minder dat 5 gaat niet.")
Je ziet dat als je 25 invoert dat het programma zegt: "Prima!" en verder niets.
Dat is zo omdat 25 >= 5 waar is (want 25 is groter dan 5). Het gedeelte met elif
en else
wordt overgeslagen.
Oefenopdracht - 1.2.1 - Hoger lager
Schrijf een programma dat hoger lager speelt. Kies zelf een geheim getal. De gebruiker raadt het getal. Is het getal precies goed print je "prima!". Is het geraden getal te laag dan print je: "raad hoger" Is het geraden getal te hoog dan print je: "raad lager"
Oefenopdracht - 1.2.2 - Jaartallen
Schrijf een programma dat de gebruiker vraagt om twee dingen:
het huidige jaar,
zijn/haar geboortejaar
Als het geboortejaar na het huidige jaar ligt, print dan:
Je bent nog niet geboren.
Als het geboortejaar groter is dan 2010:
Jij bent nog jong zeg!
Als het geboortejaar 1981 of eerder is (dus inclusief 1981):
Dat is oud...
Voorbeeld: Invoer: 2019 2020
Uitvoer: Je bent nog niet geboren.
Voorbeeld: Invoer 2019 2011
Uitvoer: Jij bent nog jong zeg!
Last updated
Was this helpful?