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)
Premier résultat :
- Python évalue d'abord
and: (calories_burned >= calorie_goal and False, soit FalseandFalse) devientFalse; - Ensuite,
orest appliqué :steps_taken >= step_goal or FalsedevientFalse or False, ce qui donneFalse.
Deuxième résultat :
- Les parenthèses forcent Python à évaluer d'abord
steps_taken >= step_goal or calories_burned >= calorie_goal. Puisquesteps_taken >= step_goaletcalories_burned >= calorie_goalsont tous deuxFalse, le résultat des parenthèses estFalse; - Ensuite,
False and Falseest évalué, ce qui donneFalse.
Troisième résultat :
nota la priorité la plus élevée, doncnot (steps_taken >= step_goal)est évalué en premier. Commesteps_taken >= step_goalestFalse,not FalsedevientTrue;- Ensuite,
calories_burned >= calorie_goalest évalué, ce qui estFalse; - Enfin,
True or FalsedonneTrue.
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 :
- Les opérateurs mathématiques comme
*et/ont une priorité plus élevée que+et-; - Les opérateurs de comparaison (
<,>,==, etc.) sont évalués après les opérations mathématiques ; - 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.
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 :
- L'utilisateur n'a pas atteint son objectif de pas.
- L'utilisateur n'a pas brûlé assez de calories.
- 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
Merci pour vos commentaires !
single
Demandez à l'IA
Demandez à l'IA
Posez n'importe quelle question ou essayez l'une des questions suggérées pour commencer notre discussion