
Imparare a Programmare in Python – #2 – If e Match: Istruzioni condizionali che permettono di eseguire un’operazione al verificarsi di una determinata condizione.
Imparare a Programmare in Python
Imparare a programmare in Python è una serie di tutorial che ti permettono di avvicinarti a questo linguaggio di programmazione.
Ecco gli argomenti precedenti:
Giveaway 12 licenze JetBrains
Ogni mese per 3 mesi (Ottobre, Novembre e Dicembre 2025), regalerò 4 licenze per utilizzare 1 software a scelta di JetBrains (incluso PyCharm).
La licenza permette di scegliere uno qualsiasi dei software sul sito di JetBrains e di attivarlo per 1 anno.
Per partecipare al Giveaway ed avere la possibilità di vincere una delle licenze è sufficiente compilare il form presente su questa pagina.
L’istruzione IF
L’istruzione IF permette di valutare una condizione, che se dovesse rivelarsi vera porterà all’esecuzione di altre operazioni.
In Python l’if permette di utilizzare 3 comandi:
- if (l’istruzione iniziale che avvia la prima verifica)
- elif (l’istruzione che verifica ulteriori condizioni)
- else (l’istruzione finale che viene eseguita nel caso in cui nessuna delle precedenti risultasse vera
- : (i due punti indicano la fine del comando da verificare)
Vediamo alcuni esempi:
#Creiamo una variabile con un valore
numero = 10
#Semplice istruzione IF
if numero > 20:
print("il numero inserito è maggiore di 20")
else:
print("il numero inserito è inferiore a 20")
In questo esempio assegniamo alla variabile numero il valore 10, poi tramite un controllo verifichiamo se la variabile ha un valore superiore a 20.
Nell’esempio essendo il valore 10, l’if verrà ignorato e verrà eseguito il comando presente nell’else.
#Creiamo una variabile con un valore
numero = 10
#Semplice istruzione IF
if numero > 20:
print("il numero inserito è maggiore di 20")
elif numero > 15:
print("il numero inserito è maggiore di 15")
elif numero < 5:
print("il numero inserito è minore di 5)
In questo secondo esempio, utilizziamo gli else if, come l’if anche elif richiede di inserire un valore da controllare (a differenza di else che invece valuta tutte le altre ipotesi.
Abbiamo rimosso l’else in questo modo se nessuna delle condizioni dovesse essere vera non verrà eseguita nessuna operazione e si passerà automaticamente all’operazione che segue la condizione if (se presente).
L’istruzione MATCH
L’istruzione match è stata introdotta a partire dalla versione 3.10 di python (quindi non riconosciuta dalle versioni precedenti).
Questo aspetto è molto importante perchè se stiamo programmando usando una versione precedente, oppure se sul dispositivo sul quale viene eseguito il nostro codice dovesse essere presente una versione precedente non verrà riconosciuto e porterà ad un errore.
Usare match solo se si è sicuri che i dispositivi sui quali il software dovrà funzionare possano utilizzare python 3.10 o successivi.
#Creiamo una variabile con un valore
numero = 10
#Semplice istruzione match
match numero:
case 10:
print("Il numero inserito è 10")
case 5:
print("Il numero inserito è 5")
case 1:
print("Il numero inserito è 1")
case _:
print("Il numero inserito non è in elenco)
Match-Case serve per verificare che il valore inserito sia esattamente uno di quelli presenti nei casi elencati.
Così come l’if anche il match prevede un caso in cui il valore non sia presente, in questo caso si aggiungerà un _ al posto del valore.
quindi scrivere “case _” equivale all’else dell’if, o al “case else” di altri linguaggi di programmazione.
ESERCITAZIONE: Calcolare l’età considerando anche mese e giorno di nascita
Nel tutorial precedente, non avendo ancora studiato l’utilizzo dell’if, abbiamo creato un semplice programma in grado di calcolare l’età di una persona solo dall’anno, ovviamente questa non sarà mai precisa perchè non prende in considerazione il mese ed il giorno di nascita.
In questo tutorial andremo, grazie all’utilizzo dell’if e degli if annidati a migliorare il programma scritto in precedenza.
Gli if annidati sono una serie di condizioni if scritte una all’interno di un’altra.
Cioè se la prima condizione if dovesse essere vera, l’operazione al suo interno sarà un’altra if che verifica un’ulteriore condizione.
Nel video presente su Youtube c’è un errore nel codice scritto, invece di sottrarre un anno ne aggiungo uno, il codice presente qui è quello corretto.
# Il mio primo programma in Python
#Chiedi all'utente l'anno di nascita
anno_nascita = int(input("Inserisci il tuo anno di nascita:"))
#Chiedi il mese di nascita
mese_nascita = int(input("Inserisci il tuo mese di nascita:"))
#Chiedo il giorno di nascita
giorno_nascita = int(input("Inserisci il tuo giorno nascita:"))
#Chiedi all'utente la data attuale
anno_attuale = int(input("Inserisci l'anno attuale:"))
#Chiedi mese attuale
mese_attuale = int(input("Inserisci il mese attuale:"))
#Chiedi giorno attuale
giorno_attuale = int(input("Inserisci il giorno attuale:"))
#Calcola l'età dell'utente
risultato_eta = 0
if anno_attuale >= anno_nascita:
if mese_attuale > mese_nascita:
risultato_eta = anno_attuale - anno_nascita - 1
elif mese_attuale == mese_nascita:
if giorno_attuale > giorno_nascita:
risultato_eta = anno_attuale - anno_nascita - 1
elif giorno_attuale <= giorno_nascita:
risultato_eta = anno_attuale - anno_nascita
elif mese_attuale < mese_nascita:
risultato_eta = anno_attuale - anno_nascita
#Mostra l'età dell'utente
print("Hai ", risultato_eta, "anni.")