Sprint 2 Β· Beslissingen  Β·  US2: Beslissingen schrijven

Als developer, wil ik beslissingen in mijn code kunnen opschrijven met if/elif/else en meerdere voorwaarden kunnen combineren, zodat mijn programma per situatie precies één passende keuze maakt.

Taak 1: if / elif / else

Met if, elif en else laat je een script op basis van een conditie een andere tak kiezen. Python heeft geen switch-statement β€” elif doet hetzelfde en is leesbaarder.

Wat is if / elif / else?

Beslissingen in code

Met if, elif en else laat je Python verschillende code uitvoeren op basis van een voorwaarde. Python kiest maar één tak β€” zodra een voorwaarde waar is, slaat het de rest over.

De drie blokken

  • if β€” het startpunt. Verplicht. Voert code uit als de voorwaarde waar is.
  • elif β€” "else if". Optioneel, onbeperkt veel. Alleen gecontroleerd als de vorige voorwaarden onwaar waren.
  • else β€” de "alles wat over is". Optioneel. Wordt altijd uitgevoerd als geen enkele vorige voorwaarde waar was.

Structuur

if :
    # code A
elif :
    # code B
elif :
    # code C
else:
    # code D β€” alleen als A, B en C allemaal onwaar waren

Belangrijk: Python voert maar één blok uit, dan gaat het door met de rest van het script. Dit heet short-circuit β€” niet alle voorwaarden worden gecontroleerd.

Vuistregel: Gebruik if/elif/else als de situaties elkaar uitsluiten. Gebruik aparte if-statements als ze onafhankelijk zijn.

Live voorbeeld: leeftijdscategorieΓ«n

Versleep de schuifbalk en zie welke tak Python kiest:

leeftijd = 30
Code
if leeftijd < 13:
print("Kind")
elif leeftijd < 18:
print("Tiener")
elif leeftijd < 65:
print("Volwassene")
else:
print("Senior")
Uitvoer
Volwassene
β–Ά REPL-simulator: if/elif/else stappen

Typ een vergelijking en zie het resultaat, precies zoals Python een if- of elif-voorwaarde evalueert. Probeer: 35 < 50, 15 < 10, 10 <= 10 of 5 == 5.

Python 3 REPL-simulator klaar. Typ een vergelijking, bijv. 35 < 50 of 10 <= 10
>>> 

Jouw opdracht: schijfruimte classifier

Schrijf een if/elif/else-keten die de vrije schijfruimte indeelt in vier categorieΓ«n. Test met minstens zes verschillende waarden.

disk_free = 35   # test ook met: 5, 15, 55, 75, 95

if disk_free < 10:
    print(f"KRITIEK: {disk_free}% vrij β€” direct opruimen!")
# TODO: elif voor 10-20 ("LAAG: ruim zo snel mogelijk op")
# TODO: elif voor 20-50 ("HALVERWEGE: houd het in de gaten")
# TODO: else ("OK: genoeg ruimte")

Acceptatiecriteria

  • Vier categorieΓ«n: <10%, 10–20%, 20–50%, >=50%.
  • Elke melding bevat het percentage vrije ruimte via een f-string.
  • Bij disk_free = 10 valt het in de "LAAG"-categorie (niet KRITIEK).
  • Getest met zes waarden β€” elke tak minstens één keer actief.
  • Je kunt uitleggen waarom je elif gebruikt en niet twee losse if-statements.