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.
Python laat je vergelijkingen aan elkaar ketenen: 20 < battery < 100
leest zoals wiskunde. De ternary-operator maakt een eenregelige if/else mogelijk voor
simpele keuzes.
Stel je voor: je wilt checken of een getal tussen 10 en 50 ligt. Normaal schrijf je:
if x >= 10 and x < 50:
print("In bereik")
Je ziet dat x twee keer voorkomt. Python laat je dit korter schrijven door voorwaarden aan elkaar te ketenen:
if 10 <= x < 50:
print("In bereik")
Dit leest precies als wiskundige notatie: "10 kleiner-of-gelijk x kleiner dan 50". Veel duidelijker!
Normaal schrijf je if/else zo:
if x < 20:
result = "klein"
else:
result = "groot"
Voor simpele keuzes kun je dit korter schrijven met de ternary operator:
result = "klein" if x < 20 else "groot"
Lees het als: "result wordt 'klein' als x kleiner is dan 20, anders 'groot'".
Je kunt het ook direct in een tekst gebruiken:
print(f"x={x}: {'klein' if x < 20 else 'groot'}")
Versleep de schuifbalk en zie hoe Python de kettingvergelijking evalueert:
Combineer chained comparisons en ternary om de systeemstatus samen te vatten. Test met minstens vijf combinaties van disk_free en cpu_load.
disk_free = 55
cpu_load = 70
# TODO: gebruik chained comparison voor safe_to_backup
safe_to_backup = ??? # 20 <= disk_free < 100 AND 0 <= cpu_load < 80
# TODO: gebruik ternary om de status te omschrijven
status = ??? # "veilig" als safe_to_backup, anders "onveilig"
# TODO: schrijf in รฉรฉn f-string: vrije ruimte %, cpu %, status
print(f???)
Acceptatiecriteria
safe_to_backup gebruikt een chained comparison (niet twee losse and).status is bepaald met een ternary, niet met een if/else-blok.