Corso
if…elif…else sono istruzioni condizionali usate in Python che ti aiutano a eseguire automaticamente porzioni di codice diverse in base a una certa condizione. In questo tutorial spieghiamo ciascuna istruzione di questa struttura Python, con esempi.
Per eseguire facilmente da solo tutto il codice di esempio in questo tutorial, puoi creare gratis un workbook DataLab con Python preinstallato e tutti i frammenti di codice inclusi. Per fare più pratica con le istruzioni if, dai un'occhiata a questo esercizio pratico su DataCamp.…elif…else
condizione if
La condizione if è considerata la più semplice delle tre e prende una decisione in base al fatto che la condizione sia vera o meno. Se la condizione è vera, stampa l'espressione indentata. Se la condizione è falsa, salta la stampa dell'espressione indentata.
if condition:
expression
Esempio di if
Supponi di avere una variabile z uguale a 4. Se il valore è "pari", stamperai z is 'even'. Userai l'operatore modulo 2, che restituisce 0 se z è "pari". Non appena esegui il codice qui sotto, Python verifica se la condizione è soddisfatta. Se True, viene eseguito il codice corrispondente.
z = 4
if z % 2 == 0: # True
print("z is even")
# z is even
Esempio con più righe all'interno di un'istruzione if
È assolutamente normale avere più righe all'interno dell'istruzione if, come mostrato nell'esempio sotto. Quando lo esegui, lo script restituisce due righe. Se la condizione non è soddisfatta, l'espressione non viene eseguita.
z = 4
if z % 2 == 0:
print("checking " + str(z))
print("z is even")
# checking 4
# z is even
Esempio di un'istruzione if falsa
Modifichiamo il valore di z in un numero dispari. Noterai che il codice non stamperà nulla perché la condizione non sarà soddisfatta, cioè False.
z = 5
if z % 2 == 0: # False
print("checking " + str(z))
print("z is even")
# no output expected
condizione if-else
La condizione if-else aggiunge un passaggio in più nel processo decisionale rispetto alla semplice istruzione if. L'inizio di un'istruzione if-else funziona in modo simile a un semplice if; tuttavia, se la condizione è falsa, invece di non stampare nulla, viene stampata l'espressione indentata sotto else.
if condition:
expression
else:
expression
Esempio di if-else
Proseguendo con l'esempio precedente, cosa succede se vuoi stampare "z is odd" quando la condizione if è falsa? In questo caso, puoi semplicemente aggiungere un'altra condizione, cioè la condizione else. Se lo esegui con z uguale a 5, la condizione non è vera, quindi viene stampata l'espressione dell'istruzione else.
z = 5
if z % 2 == 0:
print("z is even")
else:
print("z is odd")
# z is odd
condizione if-elif-else
La più complessa tra queste condizioni è if-elif-else. Quando ti trovi in una situazione con più condizioni, puoi inserire tutti gli elif necessari tra la condizione if e la condizione else.
if condition:
expression
elif condition:
expression
else:
expression
Primo esempio di condizione if-elif-else
Di seguito trovi un esempio in cui vuoi stampare messaggi diversi per numeri divisibili per 2 e per 3.
Qui, dato che z è uguale a 3, la prima condizione è False, quindi si passa alla successiva. La condizione successiva risulta True. Di conseguenza, viene eseguita la relativa istruzione di stampa.
z = 3
if z % 2 == 0:
print("z is divisible by 2")
elif z % 3 == 0:
print("z is divisible by 3")
else:
print("z is neither divisible by 2 nor by 3")
# z is divisible by 3
Secondo esempio di condizione if-elif-else
Nell'esempio seguente, definisci due variabili, room e area. Costruisci poi le condizioni if-elif-else e if-else rispettivamente per room e area.
Nella prima condizione, controlli if stai guardando in cucina, elif stai guardando in camera da letto, else stai guardando altrove. A seconda del valore della variabile room, viene eseguita la condizione soddisfatta.
Allo stesso modo, per la variabile area, scrivi una condizione if e else e verifichi se l'area è maggiore di 15 oppure no.
# Define variables
room = "bed"
area = 14.0
# if-elif-else construct for room
if room == "kit":
print("Looking around in the kitchen.")
elif room == "bed":
print("Looking around in the bedroom.")
else:
print("Looking around elsewhere.")
# if-elif-else construct for area
if area > 15:
print("Big place!")
else:
print("Pretty small.")
# Looking around in the bedroom.
# Pretty small.
Per saperne di più sulle istruzioni elif in Python, guarda questo video tratto dal nostro corso Intermediate Python.
Questo contenuto è tratto dal nostro corso Intermediate Python di Hugo Bowne-Anderson.
Conclusione
Le istruzioni condizionali sono uno dei primi veri mattoni della logica di programmazione in Python.
Cosa abbiamo visto:
-
ifesegue un blocco di codice solo quando una condizione è vera. -
if-elseaggiunge un'alternativa che si attiva quando la condizione è falsa. -
if-elif-elseti permette di verificare più condizioni in sequenza, eseguendo il blocco associato alla prima che risulta vera.

