Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Impara Introduzione alle Istruzioni If-Elif-Else in Python | Padronanza delle Istruzioni If-Elif-Else in Python
Flusso di Controllo in Python

Introduzione alle Istruzioni If-Elif-Else in Python

Scorri per mostrare il menu

L'istruzione if-elif-else è uno strumento potente in Python che consente di verificare più condizioni ed eseguire diversi blocchi di codice in base a quale condizione risulta vera. È particolarmente utile quando si devono valutare più condizioni, ma si desidera che venga eseguito solo un blocco di codice.

Quando è necessario scegliere tra diverse condizioni, elif è preferibile rispetto a più istruzioni if. Questo perché elif garantisce che, una volta soddisfatta una condizione, le restanti vengano saltate, migliorando l'efficienza. Al contrario, l'utilizzo di più istruzioni if comporta la valutazione indipendente di tutte le condizioni, il che può portare a controlli non necessari e codice ridondante.

Monitoriamo la durata del sonno di un utente e categorizziamola in diversi intervalli. Verificheremo se l'utente ha raggiunto il proprio obiettivo di sonno, se è vicino a raggiungerlo o se ha bisogno di più riposo.

1234567891011
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 proprio obiettivo, il codice verifica comunque se è vicino all'obiettivo o se ha bisogno di più riposo.

1234567891011
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.")

L'utilizzo di elif rende il codice più leggibile ed efficiente, poiché una volta soddisfatta una condizione, non è necessario verificare ulteriori condizioni.

blocco if elif else

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, viene eseguito il codice all'interno del blocco if;
  • Se la prima condizione è falsa, si passa alla condizione successiva, ovvero l'elif. Se la condizione elif è vera, viene eseguito il blocco elif corrispondente;
  • Se il primo elif è falso, può essere verificato un altro elif e, se è vero, viene eseguito il relativo blocco di codice;
  • Se nessuna delle condizioni if o elif è soddisfatta (cioè tutte sono false), viene eseguito il blocco finale else, garantendo che venga sempre eseguito un blocco di codice.

Questo flusso assicura che venga eseguita solo la prima condizione vera, offrendo un modo chiaro ed efficiente per gestire condizioni multiple. La struttura if-elif-else evita controlli ridondanti e viene eseguito un solo blocco di codice in tutta la struttura.

1. Qual è il vantaggio di usare if-elif-else invece di più istruzioni if?

2. Cosa verrà stampato dal seguente codice?

question mark

Qual è il vantaggio di usare if-elif-else invece di più istruzioni if?

Seleziona la risposta corretta

question mark

Cosa verrà stampato dal seguente codice?

Seleziona la risposta corretta

Tutto è chiaro?

Come possiamo migliorarlo?

Grazie per i tuoi commenti!

Sezione 3. Capitolo 1

Chieda ad AI

expand

Chieda ad AI

ChatGPT

Chieda pure quello che desidera o provi una delle domande suggerite per iniziare la nostra conversazione

Sezione 3. Capitolo 1
some-alt