Gegeven de syntactische regels voor if-elif-else
constructies en inspringing, is het mogelijk om if
statements op te nemen in de code blokken behorende bij andere if
statements. Zo’n geneste if
wordt alleen uitgevoerd als de boolean expressie behorende bij het code blok waarin de geneste if
staat True
is.
Het nesten van condities dient men zoveel mogelijk te vermijden omwille van efficiëntie en leesbaarheid. Vaak kan met het gebruik van elif
een geneste conditie vermeden worden. Echter zal blijken dat bij moeilijkere opgaven een geneste conditie onvermijdbaar is.
x = 41
if x%7 == 0:
# --- Hier begint een genest blok code ---
if x%11 == 0:
print( x, "is deelbaar door 7 en 11." )
else:
print( x, "is deelbaar door 7, maar niet door 11." )
# --- Hier eindigt een genest blok code ---
elif x%11 == 0:
print( x, "is deelbaar door 11, maar niet door 7." )
else:
print( x, "is niet deelbaar door 7 of 11." )