Operatorernas Prioritet i Python
När du utvecklar en Python-applikation är det viktigt att förstå hur Python hanterar operatorprioritet, vilket bestämmer ordningen i vilken operationer utförs i uttryck. Detta säkerställer att villkor utvärderas korrekt. Användning av parenteser kan också hjälpa till att klargöra och kontrollera ordningen av operationer.
Logisk Operatorprioritet
Bland logiska operatorer följer Python denna prioritet:
Exempel: Fitness Tracker Mål
Låt oss klargöra med exempel i kontexten av en Fitness Tracker:
# 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 False # 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)
Swipe to start coding
I den nuvarande Fitness Tracker-koden gör flera inbäddade if
-satser logiken svårare att läsa och underhålla. Din uppgift är att skriva om koden med en enda, koncis if
-sats med logiska operatorer. Använd den logiska operatorn and
för att kombinera flera villkor.
Fitnessmål bör spåras effektivt, och det bör även din kod! Den nuvarande implementeringen kontrollerar om:
- Användaren inte har uppnått sitt stegmål.
- Användaren inte har bränt tillräckligt med kalorier.
- Användaren inte tränade på morgonen.
Skriv om koden för att förbättra dess läsbarhet samtidigt som du behåller samma logik.
Lösning
Tack för dina kommentarer!