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.
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.
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.
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.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.
if/elif/else als de situaties elkaar uitsluiten.
Gebruik aparte if-statements als ze onafhankelijk zijn.
Versleep de schuifbalk en zie welke tak Python kiest:
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.
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
disk_free = 10 valt het in de "LAAG"-categorie (niet KRITIEK).elif gebruikt en niet twee losse if-statements.