Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Apprendre Priorité des Opérateurs en Python | Maîtriser Les Instructions If en Python
Contrôle de Flux en Python
Section 1. Chapitre 5
single

single

Priorité des Opérateurs en Python

Glissez pour afficher le menu

Lors du développement d'une application Python, il est important de comprendre comment Python gère la priorité des opérateurs, qui détermine l'ordre dans lequel les opérations sont effectuées dans les expressions. Cela garantit que les conditions sont évaluées correctement. L'utilisation de parenthèses peut également aider à clarifier et à contrôler l'ordre des opérations.

Priorité des opérateurs logiques

Parmi les opérateurs logiques, Python suit cette priorité :

Exemple : Objectifs du suivi de forme

Clarification à l'aide d'exemples dans le contexte d'un suivi de forme :

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)
Description du code
expand arrow

Premier résultat :

  • Python évalue d'abord and : (calories_burned >= calorie_goal and False, soit False and False) devient False ;
  • Ensuite, or est appliqué : steps_taken >= step_goal or False devient False or False, ce qui donne False.

Deuxième résultat :

  • Les parenthèses forcent Python à évaluer d'abord steps_taken >= step_goal or calories_burned >= calorie_goal. Puisque steps_taken >= step_goal et calories_burned >= calorie_goal sont tous deux False, le résultat des parenthèses est False ;
  • Ensuite, False and False est évalué, ce qui donne False.

Troisième résultat :

  • not a la priorité la plus élevée, donc not (steps_taken >= step_goal) est évalué en premier. Comme steps_taken >= step_goal est False, not False devient True ;
  • Ensuite, calories_burned >= calorie_goal est évalué, ce qui est False ;
  • Enfin, True or False donne True.
Note
Remarque

Tout comme les opérateurs logiques, d'autres opérateurs tels que les opérateurs de comparaison (>=, <=, ==, etc.) et les opérateurs mathématiques (+, -, *, /, etc.) suivent également un ordre de priorité spécifique.

Par exemple :

  1. Les opérateurs mathématiques comme * et / ont une priorité plus élevée que + et - ;
  2. Les opérateurs de comparaison (<, >, ==, etc.) sont évalués après les opérations mathématiques ;
  3. Les opérateurs logiques (not, and, or) sont évalués en dernier.

L'utilisation de parenthèses ( ) permet de clarifier et de contrôler l'ordre d'évaluation dans vos expressions.

Tâche

Glissez pour commencer à coder

Dans le code actuel du Fitness Tracker, plusieurs instructions if imbriquées rendent la logique difficile à lire et à maintenir. Votre tâche consiste à réécrire le code en utilisant une seule instruction if concise avec des opérateurs logiques. Utilisez l'opérateur logique and pour combiner plusieurs conditions.

Les objectifs de remise en forme doivent être suivis efficacement, tout comme votre code ! L'implémentation actuelle vérifie si :

  1. L'utilisateur n'a pas atteint son objectif de pas.
  2. L'utilisateur n'a pas brûlé assez de calories.
  3. L'utilisateur ne s'est pas exercé le matin.

Réécrivez le code pour améliorer sa lisibilité tout en conservant la même logique.

Solution

Switch to desktopPassez à un bureau pour une pratique réelleContinuez d'où vous êtes en utilisant l'une des options ci-dessous
Tout était clair ?

Comment pouvons-nous l'améliorer ?

Merci pour vos commentaires !

Section 1. Chapitre 5
single

single

Demandez à l'IA

expand

Demandez à l'IA

ChatGPT

Posez n'importe quelle question ou essayez l'une des questions suggérées pour commencer notre discussion

some-alt