Oggi parliamo delle istruzioni condizionali in Python e in particolare di Python if…else. Ciò che permette ai programmi di prendere decisioni è la capacità di “valutare” se una determinata condizione è vera o falsa e comportarsi di conseguenza. Questa capacità deve però essere guidata dal programmatore con condizioni ben precise. L’operazione fondamentale per effettuare un confronto ed eseguire codice se il suo risultato è vero prende il nome di if ed esiste in ogni linguaggio.
La sua struttura in Python è la seguente:
if condizione: <codice da eseguire>
dove:
<codice da eseguire>
sarà l’insieme delle operazioni (può trattarsi di un blocco di più righe) da eseguire solo se condizione restituisce valore logico vero, True in Python.Si ricordi sempre che la condizione dell’if può essere qualsiasi cosa che restituisce un valore booleano quindi non solo un confronto, ma anche l’invocazione di una funzione che offre questo tipo di risultato.
Facciamo un esempio.
Abbiamo la variabile voto:
voto = 7
Scrivendo:
if voto>=6: print(“Voto sufficiente”)
la stringa “Voto sufficiente” verrà stampata in quanto l’espressione voto>=6
risulta vera perché 7 è maggiore di 6.
Provassimo il tutto impostando voto ad un valore minore di 6, non otterremmo la stampa del messaggio.
Iscriviti su devACADEMY e SEGUI TUTTI I CORSI che vuoi!
OLTRE 70 CORSI di coding A TUA DISPOSIZIONE con un’unica iscrizione 🙂
La parola chiave if introduce quindi il principale costrutto condizionale del linguaggio Python. Serve per definire se un blocco di codice deve o meno essere eseguito in base ad una condizione booleana.
La parola chiave if può essere accompagnata da altre due:
Vediamo prima di tutto un semplice costrutto if…else:
eta=22 if eta>=18: print("Sei maggiorenne") else: print("Sei ancora minorenne")
L’esecuzione di tale codice stamperà “Sei maggiorenne” in quanto la variabile eta contiene 22 pertanto la condizione dell’if eta>=18 restituirà True, il “vero” logico.
Qualora impostassimo eta ad un valore minore di 18 e riprovassimo il codice otterremo “Sei ancora minorenne” in quanto sarebbe eseguito il codice dell’else.
Immaginiamo ora un altro esempio che tratta una sorta di tirassegno. Deve essere restituito un messaggio diverso in base a quanto si è distanti dal centro che è rappresentato dallo zero. Se la distanza è minore di 10 si faranno i complimenti al giocatore. Così non fosse, si valuta se si è al di sotto di 50 (ma sopra al 10 altrimenti sarebbe risultata vera la condizione dell’if). Infine, se entrambe le condizioni risultano false la distanza dal centro sarà compresa tra cinquanta e cento e lì si risponderà con un messaggio più critico all’utente:
distanza=88 if distanza <=10: print("Bravissimo! Sei vicinissimo al centro") elif distanza <=50: print("Bravo ma potevi fare di meglio") else: print("Molto lontano dal centro: devi impegnarti di più!")
In questo caso, con una distanza pari a 88, otterremmo: “Molto lontano dal centro: devi impegnarti di più!”