Vai al contenuto principale

Istruzioni elif in Python: guida introduttiva alla logica condizionale

Scopri come creare istruzioni if…elif…else in Python.
· 4 min leggi

Scopri con l'IA

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…elif…else, dai un'occhiata a questo esercizio pratico su DataCamp.

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.

Prova tu stesso.

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:

  • if esegue un blocco di codice solo quando una condizione è vera.

  • if-else aggiunge un'alternativa che si attiva quando la condizione è falsa.

  • if-elif-else ti permette di verificare più condizioni in sequenza, eseguendo il blocco associato alla prima che risulta vera.

Argomenti

Correlato