Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Impara Precedenza degli operatori in Python | Padroneggiare le Istruzioni If in Python
Flusso di Controllo in Python
Sezione 1. Capitolo 5
single

single

Precedenza degli operatori in Python

Scorri per mostrare il menu

Durante lo sviluppo di un'applicazione Python, è importante comprendere come Python gestisce la precedenza degli operatori, che determina l'ordine in cui le operazioni vengono eseguite nelle espressioni. Questo garantisce che le condizioni vengano valutate correttamente. L'uso delle parentesi può anche aiutare a chiarire e controllare l'ordine delle operazioni.

Precedenza degli operatori logici

Tra gli operatori logici, Python segue questa precedenza:

Esempio: Obiettivi di un Fitness Tracker

Chiarimento tramite esempi nel contesto di un Fitness Tracker:

12345678910111213141516171819
# Example 1: AND has higher precedence than OR steps_taken = 8000 step_goal = 10000 calories_burned = 450 calorie_goal = 500 first_result = steps_taken >= step_goal or calories_burned >= calorie_goal and False # Same as: steps_taken >= step_goal or (calories_burned >= calorie_goal and False) # Example 2: Parentheses change the precedence second_result = (steps_taken >= step_goal or calories_burned >= calorie_goal) and True # Example 3: NOT has the highest precedence third_result = not (steps_taken >= step_goal) or calories_burned >= calorie_goal # Same as: (not (steps_taken >= step_goal)) or (calories_burned >= calorie_goal) print('The first expression is:', first_result) print('The second expression is:', second_result) print('The third expression is:', third_result)
Descrizione del codice
expand arrow

Primo risultato:

  • Python valuta prima and: (calories_burned >= calorie_goal and False, cioè False and False) diventa False;
  • Poi viene applicato or: steps_taken >= step_goal or False diventa False or False, risultando in False.

Secondo risultato:

  • Le parentesi obbligano Python a valutare prima steps_taken >= step_goal or calories_burned >= calorie_goal. Poiché sia steps_taken >= step_goal sia calories_burned >= calorie_goal sono False, il risultato delle parentesi è False;
  • Poi viene valutato False and False, che dà come risultato False.

Terzo risultato:

  • not ha la precedenza più alta, quindi not (steps_taken >= step_goal) viene valutato per primo. Poiché steps_taken >= step_goal è False, not False diventa True;
  • Successivamente viene valutato calories_burned >= calorie_goal, che è False;
  • Infine, True or False dà come risultato True.
Note
Nota

Così come per gli operatori logici, anche altri operatori come operatori di confronto (>=, <=, ==, ecc.) e operatori matematici (+, -, *, /, ecc.) seguono un ordine specifico di precedenza.

Ad esempio:

  1. Gli operatori matematici come * e / hanno una precedenza maggiore rispetto a + e -;
  2. Gli operatori di confronto (<, >, ==, ecc.) vengono valutati dopo le operazioni matematiche;
  3. Gli operatori logici (not, and, or) vengono valutati per ultimi.

L'uso delle parentesi ( ) può aiutare a chiarire e controllare l'ordine di valutazione nelle espressioni.

Compito

Scorri per iniziare a programmare

Nel codice attuale del Fitness Tracker, la presenza di più istruzioni if annidate rende la logica difficile da leggere e mantenere. Il tuo compito è riscrivere il codice utilizzando una singola istruzione if concisa con operatori logici. Usa l'operatore logico and per combinare più condizioni.

Gli obiettivi fitness devono essere monitorati in modo efficiente, così come il tuo codice! L'implementazione attuale verifica se:

  1. L'utente non ha raggiunto il proprio obiettivo di passi.
  2. L'utente non ha bruciato abbastanza calorie.
  3. L'utente non si è allenato al mattino.

Riscrivi il codice per migliorarne la leggibilità mantenendo la stessa logica.

Soluzione

Switch to desktopCambia al desktop per esercitarti nel mondo realeContinua da dove ti trovi utilizzando una delle opzioni seguenti
Tutto è chiaro?

Come possiamo migliorarlo?

Grazie per i tuoi commenti!

Sezione 1. Capitolo 5
single

single

Chieda ad AI

expand

Chieda ad AI

ChatGPT

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

some-alt