Selezioni con espressione condizionale

L’operatore ternario di altri linguaggi viene tradotto nell’espressione condizionale.

Il codice C, Java, …

x = (E == 1) ? espr1 : espr2;

diventa in Python

x = espr1 if(E == 1) else espr2

Se l’if(...) ha successo viene valutata la 1° espressione altrimenti la 2°.
Il valore risultante verrà assegnato alla variabile x.

La sintassi si discosta da quella comune di Python!

Esempio

a = 10
x = "Pari" if(a%2 == 0) else "Dispari"

Annidate

Se le espresioni logiche e le espressioni controllate sono sintetiche si può pensare di utilizzare le espressioni condizionali annidate per realizzare una selezione multipla.

x = espr1 if(E == 1) else espr2 if(E == 2) else espr3 ...

Esempio

a = 10
s = "positivo" if(a > 0) else "nullo" if(a == 0) else "negativo"
x = +1 if(a > 0) else 0 if(a == 0) else -1