Ifelse In Python
If…Else in Python¶
Obiettivi della Lezione¶
Al termine di questa lezione sarai in grado di:
- Comprendere l’utilizzo delle strutture condizionali if, elif ed else in Python.
- Scrivere codice che esegue azioni diverse in base a condizioni specifiche.
- Applicare operatori logici per creare condizioni complesse.
- Implementare controlli condizionali annidati per gestire situazioni multiple.
Introduzione¶
Nel mondo della programmazione, prendere decisioni è fondamentale. Le strutture condizionali permettono al programma di eseguire determinate istruzioni solo se certe condizioni sono soddisfatte. In Python, le dichiarazioni if, elif ed else sono gli strumenti principali per implementare queste logiche decisionali, rendendo il codice dinamico e reattivo a diversi input e situazioni.
Spiegazione Teorica¶
La dichiarazione if
¶
La parola chiave if
è utilizzata per eseguire un blocco di codice solo se una determinata condizione è vera.
Sintassi base:
if condizione:
# blocco di codice eseguito se la condizione è vera
- condizione: un’espressione che viene valutata come vera (True) o falsa (False).
- blocco di codice: una o più istruzioni indentate sotto l’istruzione
if
.
Esempio:
if 5 > 3:
print("Cinque è maggiore di tre.")
Cinque è maggiore di tre.
La dichiarazione else
¶
La dichiarazione else
segue un’istruzione if
ed esegue un blocco di codice se la condizione dell’if
è falsa.
Sintassi:
if condizione:
# blocco eseguito se la condizione è vera
else:
# blocco eseguito se la condizione è falsa
Esempio:
if 2 > 3:
print("Due è maggiore di tre.")
else:
print("Due non è maggiore di tre.")
Due non è maggiore di tre.
La dichiarazione elif
¶
La parola chiave elif
(abbreviazione di “else if”) permette di verificare ulteriori condizioni se le precedenti sono risultate false.
Sintassi:
if condizione1:
# blocco eseguito se condizione1 è vera
elif condizione2:
# blocco eseguito se condizione2 è vera
else:
# blocco eseguito se tutte le condizioni precedenti sono false
Puoi usare quanti elif
desideri tra if
ed else
.
Esempio:
eta = 18
if eta < 13:
print("Sei un bambino.")
elif eta < 18:
print("Sei un adolescente.")
else:
print("Sei un adulto.")
Sei un adulto.
Operatori logici nelle condizioni¶
Puoi utilizzare operatori come and
, or
, e not
per combinare condizioni.
and
: vero se entrambe le condizioni sono vere.or
: vero se almeno una condizione è vera.not
: inverte il valore della condizione.
Esempio con operatori:
if eta > 0 and eta < 120:
print("Età valida.")
else:
print("Età non valida.")
Età valida.
Indentazione in Python¶
L’indentazione definisce i blocchi di codice. In genere si usano 4 spazi o un tab. Tutte le istruzioni all’interno di un blocco devono essere indentate allo stesso modo.
Esempio di indentazione corretta:
if condizione:
print("Blocco corretto.")
esegui_azione()
numero = 10
if numero > 0:
print(f"{numero} è positivo.")
10 è positivo.
Spiegazione:
Il programma controlla se numero
è maggiore di zero. Se la condizione è vera, stampa che il numero è positivo.
Esempio 2: Pari o dispari¶
numero = 7
if numero % 2 == 0:
print(f"{numero} è pari.")
else:
print(f"{numero} è dispari.")
7 è dispari.
Spiegazione:
Utilizza l’operatore modulo %
per determinare se c’è un resto nella divisione per 2.
Esempio 3: Grading system¶
punteggio = 85
if punteggio >= 90:
grado = 'A'
elif punteggio >= 80:
grado = 'B'
elif punteggio >= 70:
grado = 'C'
elif punteggio >= 60:
grado = 'D'
else:
grado = 'F'
print(f"Hai ottenuto un {grado}.")
Hai ottenuto un B.
Spiegazione:
Il programma assegna un grado in base al punteggio utilizzando più condizioni elif
.
Esempio 4: Controllo dell’accesso¶
eta = 20
accompagnato_da_adulto = False
if eta >= 18:
print("Accesso consentito.")
elif eta >= 16 and accompagnato_da_adulto:
print("Accesso consentito con accompagnatore.")
else:
print("Accesso negato.")
Accesso consentito.
Spiegazione:
Combina condizioni con operatori logici per gestire casi specifici.
num1 = float(input("Inserisci il primo numero: "))
num2 = float(input("Inserisci il secondo numero: "))
if num1 > num2:
print(f"Il numero maggiore è {num1}.")
elif num2 > num1:
print(f"Il numero maggiore è {num2}.")
else:
print("I numeri sono uguali.")
Inserisci il primo numero: 9 Inserisci il secondo numero: 6 Il numero maggiore è 9.0.
Esercizio 2: Calcolatrice semplice¶
Crea un programma che chieda all’utente due numeri e un’operazione (+, -, *, /
) e calcoli il risultato.
Soluzione:
num1 = float(input("Inserisci il primo numero: "))
operazione = input("Inserisci l'operazione (+, -, *, /): ")
num2 = float(input("Inserisci il secondo numero: "))
if operazione == '+':
risultato = num1 + num2
elif operazione == '-':
risultato = num1 - num2
elif operazione == '*':
risultato = num1 * num2
elif operazione == '/':
if num2 != 0:
risultato = num1 / num2
else:
risultato = "Errore: divisione per zero."
else:
risultato = "Operazione non valida."
print(f"Il risultato è: {risultato}")
Inserisci il primo numero: 8 Inserisci l'operazione (+, -, *, /): / Inserisci il secondo numero: 2 Il risultato è: 4.0
Esercizio 3: Categoria di età¶
Chiedi all’utente la sua età e determina la categoria:
- 0-12: Bambino
- 13-19: Adolescente
- 20-59: Adulto
- 60+: Anziano
Soluzione:
eta = int(input("Inserisci la tua età: "))
if eta >= 0 and eta <= 12:
categoria = "Bambino"
elif eta >= 13 and eta <= 19:
categoria = "Adolescente"
elif eta >= 20 and eta <= 59:
categoria = "Adulto"
elif eta >= 60:
categoria = "Anziano"
else:
categoria = "Età non valida"
print(f"Appartieni alla categoria: {categoria}.")
Inserisci la tua età: 18 Appartieni alla categoria: Adolescente.
Buone Pratiche e Consigli¶
Chiarezza delle Condizioni: Scrivi condizioni chiare e semplici da leggere. Se una condizione è complessa, considera di assegnarla a una variabile con un nome significativo.
Indentazione Consistente: Usa sempre la stessa tecnica di indentazione (spazi o tabulazioni) in tutto il tuo codice per evitare errori di sintassi.
Utilizzo degli Operatori Logici: Combina condizioni con
and
,or
, enot
per rendere il codice più efficiente e leggibile.Controllo degli Input: Valida sempre gli input dell’utente per prevenire comportamenti inaspettati o errori.
Evitare Annidamenti Profondi: Troppi livelli di annidamento possono rendere il codice difficile da seguire. Quando possibile, semplifica le condizioni o suddividi il codice in funzioni.
Conclusione¶
Le strutture condizionali if
, elif
ed else
sono fondamentali per controllare il flusso dei programmi in Python. Permettono di eseguire diverse operazioni in base a condizioni specifiche, rendendo il tuo codice più dinamico e potente. Padroneggiare queste strutture ti consentirà di scrivere programmi più complessi e funzionali.
Risorse Aggiuntive¶
- Documentazione Ufficiale Python: Flow Control
- Libro Consigliato: Python Crash Course di Eric Matthes
- Video Tutorial: Conditionals and Booleans – If, Else, and Elif Statements