
Il costrutto if elif else in Python permette l’annidamento di più istruzioni if, cioè le istruzioni se allora altrimenti.
Infatti nel linguaggio Python per implementare la selezione multipla, si utilizza questo costrutto (per chi conosce altri linguaggi equivale allo switch-case).
Sintassi if elif else in Python
Innanzitutto notiamo che la parola elif è l’abbreviazione di else if, cioè altrimenti se.
if condizione:
istruzioni_1
elif condizione:
istruzioni_2
….
elif condizione:
istruzioni_n
else:
istruzioni
Primo esempio
Realizziamo dunque un primo esempio d’utilizzo del costrutto if elif else.
Realizzare un programma, che legga in input un voto rappresentato da un carattere tra A ed E e dopo ne stampi il significato.
Consideriamo ad esempio che:
A corrisponde a ottimo;
B corrisponde a distinto;
C corrisponde a discreto;
D corrisponde a sufficiente;
E corrisponde a insufficiente.
Innanzitutto prendiamo in input il voto e dopo lo confrontiamo con una delle lettere per stampare in output il voto corrispondente. Se la lettera non corrisponde a nessuna delle predefinite si visualizzerà un messaggio d’errore.
Ecco dunque una possibile soluzione che utilizza il costrutto if elif else in Python:
voto=input('Inserisci il voto A, B, C, D o E: ')
if voto=='A':
print('Il voto', voto, ' corrisponde a ottimo')
elif voto=='B':
print('Il voto', voto, ' corrisponde a distinto')
elif voto=='C':
print('Il voto', voto, ' corrisponde a discreto')
elif voto=='D':
print('Il voto', voto, ' corrisponde a sufficiente')
elif voto=='E':
print('Il voto', voto, ' corrisponde a insufficiente')
else:
print('la lettera inserita non corrisponde a nessun voto')
Secondo esempio
Facciamo un altro esempio per capire meglio così l’utilizzo del costrutto.
Su una linea ferroviaria, rispetto alla tariffa piena, i pensionati usufruiscono di uno sconto del 10%, gli studenti del 15% e infine i disoccupati del 25%.
Allora, codificando i pensionati con una P, gli studenti con una S e i disoccupati con una D, scrivere un programma che, richiesto il costo di un biglietto e l’eventuale condizione dell’utente, visualizzi l’importo da pagare.
Innanzitutto prendiamo in input il prezzo e lo stato, cioè se l’utente è disoccupato, pensionato o uno studente.
Dopo basta controllare lo stato e di conseguenza calcolare il prezzo del biglietto.
Ecco quindi una possibile risoluzione che utilizza il costrutto if elif else:
prezzo=float(input('Inserisci il prezzo del biglietto: '))
stato=input('Inserisci lo stato sapendo che D=Disoccupato, P=pensionato, S=studenti: ')
if stato=='D':
prezzo=prezzo*75/100
elif stato=='P':
prezzo=prezzo*90/100
elif stato=='S':
prezzo=prezzo*85/100
else:
prezzo=prezzo
print('Appartieni alla categoria ', stato, ' quindi pagherai: ', prezzo)
Se già avete dimestichezza al posto di prezzo=prezzo*75/100 scrivete pure prezzo*=0,75 e così via.
Alcuni link utili
Indice tutorial sul linguaggio Python
1 – Introduzione al linguaggio Python
2 – Le variabili
3 – Operatori aritmetici e di assegnazione
4 – Come utilizzare le stringhe
5 – Casting
6 – Input e print
8 – Come gestire gli errori in Python