Catene condizionali¶
Python prevede un modo alternativo di scrivere condizioni annidate.
if x < y:
print("x is less than y")
elif x > y:
print("x is greater than y")
else:
print("x and y must be equal")
Il flusso di controllo è lo stesso di quello visto precedentemente.
elif
è un’abbreviazione di else if
. Ancora una volta, verrà eseguito esattamente un branch. Non c’è limite al numero di istruzioni elif
ma solo una istruzione else
è ammessa e deve essere l’ultima della catena.
Ogni condizione è controllata in ordine. Se la prima è false, viene controllata la successiva e così via. Se una delle condizioni è vera, il ramo corrispondente viene eseguito. Anche se più di una condizione è vera, solo il ramo corrispondente alla prima che lo verifica viene eseguito.
Lo stesso programma di prima usando elif
.
In questo caso, per qualsiasi coppia di valori x e y positivi, Second Branch
non verrà mai stampato.
Se però x fosse negativo e anche y (con y tale che x<=y e x>2y), Second Branch
potrebbe essere stampato.