Salta ai contenuti
Manuale LogoManuale Logo

Condizioni in Python

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.

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 è vera

Esempio 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.

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.

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:

  1. voto >= 90? No (75 non è >= 90)
  2. voto >= 70? Sì! → stampa “Buono!” e si ferma

Puoi inserire un if dentro un altro if: è un annidamento.

eta = 20
ha_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!

Spesso puoi evitare l’annidamento combinando due condizioni:

eta = 20
ha_patente = True
# Con 'and': entrambe devono essere vere
if eta >= 18 and ha_patente:
print("Puoi guidare.")
# Con 'or': basta che una sia vera
eta = 16
con_accompagnatore = True
if eta >= 18 or con_accompagnatore:
print("Puoi entrare.")

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'è.")
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.”