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.

../_images/flowchart_chained_conditional.png

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.




(sel4)

In questo caso, per qualsiasi coppia di valori x e y positivi, Second Branch non verrà mai stampato.




(sel4ì5)

Se però x fosse negativo e anche y (con y tale che x<=y e x>2y), Second Branch potrebbe essere stampato.

Next Section - Funzioni Booleane