Het komt voor dat je een situatie hebt waarbij je één van meerdere blokken code wilt uitvoeren, maar niet meer dan één. Dit soort meer-weg beslissingen kun je implementeren met een extra toevoeging aan een if statement, namelijk in de vorm van één of meer elif takken (elif staat voor “else if”).

De syntax wordt dan:

if <boolean expressie>:
    <acties>
elif <boolean expressie>:
    <acties>
# hier kunnen meerdere elif statements staan
else:
    <acties>

De syntax hierboven toont slechts één elif, maar je mag er meerdere hebben. De veschillende tests in een if-elif-else constructie worden in volgorde uitgevoerd. De eerste boolean expressie die geëvalueerd wordt als True laat het bijbehorende blok code uitvoeren. Geen andere blokken code in de hele constructie worden daarna nog uitgevoerd, en er worden daarna ook geen boolean expressies in de constructie meer getest.

Voorbeeld

leeftijd = 21  # of leeftijd = int(input()) indien je zelf een voorbeeld wilt geven
if leeftijd < 12:
    print( "Je bent een kind!" )
elif leeftijd < 18:
    print( "Je bent een teenager!" )
elif leeftijd < 30:
    print( "Je bent nog jong!" )
elif leeftijd < 50:
    print( "Beginnen grijze haren te komen?" )
else:
    print( "Wegen de jaren zwaar?" )