Condizioni in Python
Perché le condizioni?
Sezione intitolata “Perché le condizioni?”Le condizioni permettono al programma di scegliere cosa fare in base a un valore: eseguire un’istruzione se una situazione è vera e un’altra se è falsa.
Un semaforo segue la stessa logica: con il verde passi, con il rosso ti fermi.
Il blocco if: “se”
Sezione intitolata “Il blocco if: “se””La parola if significa “se” in inglese. Dice a Python di eseguire il blocco solo quando la condizione è vera.
if condizione: # questo codice viene eseguito solo se la condizione è veraEsempio pratico:
eta = 18
if eta >= 18: print("Sei maggiorenne.")Se eta vale 18 o più, viene stampato il messaggio. Se vale meno di 18, non succede nulla.
Il blocco else: “altrimenti”
Sezione intitolata “Il blocco else: “altrimenti””else significa “altrimenti”. Definisce cosa fare quando la condizione dell’if è falsa:
eta = 15
if eta >= 18: print("Sei maggiorenne.")else: print("Sei minorenne.")Python controlla la condizione ed esegue un solo blocco: if se è vera, else se è falsa.
Il blocco elif: “altrimenti se”
Sezione intitolata “Il blocco elif: “altrimenti se””elif è l’abbreviazione di “else if” (altrimenti se). Serve per gestire più di due possibilità:
voto = 75
if voto >= 90: print("Ottimo!")elif voto >= 70: print("Buono!")elif voto >= 60: print("Sufficiente.")else: print("Insufficiente.")Python controlla le condizioni dall’alto verso il basso e si ferma alla prima vera. Le successive non vengono valutate.
Con voto = 75:
voto >= 90? No (75 non è >= 90)voto >= 70? Sì! → stampa “Buono!” e si ferma
Condizioni annidate
Sezione intitolata “Condizioni annidate”Puoi inserire un if dentro un altro if: è un annidamento.
eta = 20ha_patente = True
if eta >= 18: if ha_patente: print("Puoi guidare.") else: print("Sei maggiorenne ma non hai la patente.")else: print("Sei minorenne, non puoi guidare.")Ogni livello di annidamento aggiunge altri 4 spazi di indentazione. Tieni d’occhio gli spazi!
Combinare condizioni con and e or
Sezione intitolata “Combinare condizioni con and e or”Spesso puoi evitare l’annidamento combinando due condizioni:
eta = 20ha_patente = True
# Con 'and': entrambe devono essere vereif eta >= 18 and ha_patente: print("Puoi guidare.")
# Con 'or': basta che una sia veraeta = 16con_accompagnatore = True
if eta >= 18 or con_accompagnatore: print("Puoi entrare.")Controllare se un valore è in una lista
Sezione intitolata “Controllare se un valore è in una lista”L’operatore in è molto comodo per verificare se un elemento è presente in una sequenza:
frutta_disponibile = ["mela", "banana", "uva"]scelta = "mela"
if scelta in frutta_disponibile: print("Ottima scelta, ce l'abbiamo!")else: print("Mi dispiace, quella frutta non c'è.")Esempio completo
Sezione intitolata “Esempio completo”numero = int(input("Inserisci un numero: "))
if numero > 0: print("Il numero è positivo.")elif numero < 0: print("Il numero è negativo.")else: print("Il numero è zero.")Con questo programma:
- Se scrivi
5→ “Il numero è positivo.” - Se scrivi
-3→ “Il numero è negativo.” - Se scrivi
0→ “Il numero è zero.”