Contenuti del Corso
Istruzioni Condizionali in Python
Istruzioni Condizionali in Python
Introduzione alle Dichiarazioni if-elif-else in Python
L'istruzione if-elif-else
è uno strumento potente in Python che ti permette di controllare più condizioni ed eseguire diversi blocchi di codice in base a quale condizione è vera. È particolarmente utile quando hai più condizioni da valutare, ma vuoi che venga eseguito solo un blocco di codice.
Quando devi scegliere tra diverse condizioni, elif
è preferito rispetto a più istruzioni if
. Questo perché elif
assicura che una volta soddisfatta una condizione, le restanti condizioni vengano saltate, migliorando l'efficienza. Al contrario, l'uso di più istruzioni if
comporta che tutte le condizioni vengano valutate indipendentemente, il che può portare a controlli non necessari e codice ridondante.
Tracciamo la durata del sonno di un utente e categorizziamola in diverse fasce. Controlliamo se l'utente ha raggiunto il suo obiettivo di sonno, è vicino a raggiungerlo o ha bisogno di più riposo.
hours_slept = 6 sleep_goal = 8 if hours_slept < 0: print("Sleep hours cannot be negative.") if hours_slept >= sleep_goal: print("Great job! You've met your sleep goal!") if hours_slept >= sleep_goal - 2: print("You're almost there! Keep going, you'll reach your goal soon!") if hours_slept < sleep_goal - 2: print("You need more rest. Try to sleep a bit longer tonight.")
In questa versione, tutte le condizioni vengono valutate indipendentemente, anche se una condizione è già vera. Questo porta a controlli ridondanti. Ad esempio, se l'utente ha già raggiunto il suo obiettivo, il codice controlla comunque se è vicino all'obiettivo o ha bisogno di più riposo.
hours_slept = 6 sleep_goal = 8 if hours_slept < 0: print("Sleep hours cannot be negative.") elif hours_slept >= sleep_goal: print("Great job! You've met your sleep goal!") elif hours_slept >= sleep_goal - 2: print("You're almost there! Keep going, you'll reach your goal soon!") else: print("You need more rest. Try to sleep a bit longer tonight.")
Usare elif
aiuta a rendere il codice più leggibile ed efficiente, poiché una volta che una condizione è soddisfatta, non è necessario controllare ulteriori condizioni.
Questo diagramma visualizza il flusso di una struttura decisionale if-elif-else
in Python. Il processo inizia valutando la condizione iniziale if
:
Se la prima condizione è vera, il codice all'interno del blocco
if
viene eseguito;Se la prima condizione è falsa, si passa alla condizione successiva, che è l'
elif
. Se la condizioneelif
è vera, viene eseguito il bloccoelif
corrispondente;Se il primo
elif
è falso, può essere verificato un altroelif
, e se è vero, viene eseguito il rispettivo blocco di codice;Se nessuna delle condizioni
if
oelif
è soddisfatta (cioè, tutte sono false), viene eseguito il bloccoelse
finale, garantendo che un blocco di codice venga sempre eseguito.
Questo flusso garantisce che venga eseguita solo la prima condizione vera, fornendo un modo pulito ed efficiente per gestire più condizioni. La struttura if-elif-else
evita controlli ridondanti, e solo un blocco di codice viene eseguito dall'intera struttura.
1. Qual è il vantaggio di usare if-elif-else
invece di più istruzioni if
?
2. Cosa verrà stampato dal seguente codice?
Grazie per i tuoi commenti!