single
Пріоритет Операторів у Python
Свайпніть щоб показати меню
Під час розробки застосунку на Python важливо розуміти, як Python обробляє пріоритет операторів, що визначає порядок виконання операцій у виразах. Це гарантує коректну оцінку умов. Використання дужок також допомагає уточнити та контролювати порядок виконання операцій.
Пріоритет логічних операторів
Серед логічних операторів Python дотримується такого пріоритету:
Приклад: Цілі фітнес-трекера
Розглянемо приклади в контексті фітнес-трекера:
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)
Перший результат:
- Python спочатку обробляє
and: (calories_burned >= calorie_goal and False, тобто FalseandFalse) стаєFalse; - Далі застосовується
or:steps_taken >= step_goal or FalseстаєFalse or False, результат —False.
Другий результат:
- Дужки змушують Python спочатку обчислити
steps_taken >= step_goal or calories_burned >= calorie_goal. Оскільки обидва виразиsteps_taken >= step_goalтаcalories_burned >= calorie_goalєFalse, результат у дужках —False; - Далі обчислюється
False and False, результат —False.
Третій результат:
notмає найвищий пріоритет, тому спочатку обчислюєтьсяnot (steps_taken >= step_goal). Оскількиsteps_taken >= step_goal— цеFalse,not FalseстаєTrue;- Далі обчислюється
calories_burned >= calorie_goal, що єFalse; - Нарешті,
True or Falseдає результатTrue.
Як і логічні оператори, інші оператори, такі як оператори порівняння (>=, <=, == тощо) та математичні оператори (+, -, *, / тощо), також мають певний порядок пріоритету.
Наприклад:
- Математичні оператори, такі як
*і/, мають вищий пріоритет, ніж+і-; - Оператори порівняння (
<,>,==тощо) обчислюються після математичних операцій; - Логічні оператори (
not,and,or) обчислюються останніми.
Використання дужок ( ) допомагає зробити порядок обчислення у виразах зрозумілішим та контрольованим.
Проведіть, щоб почати кодувати
У поточному коді Фітнес-трекера декілька вкладених операторів if ускладнюють читання та підтримку логіки. Ваше завдання — переписати код, використовуючи один лаконічний оператор if з логічними операторами. Використовуйте логічний оператор and для об'єднання кількох умов.
Фітнес-цілі слід відстежувати ефективно, як і ваш код! Поточна реалізація перевіряє, чи:
- Користувач не досягнув своєї цілі по кроках.
- Користувач не спалив достатньо калорій.
- Користувач не займався спортом вранці.
Перепишіть код для покращення його читабельності, зберігаючи ту ж логіку.
Рішення
Дякуємо за ваш відгук!
single
Запитати АІ
Запитати АІ
Запитайте про що завгодно або спробуйте одне із запропонованих запитань, щоб почати наш чат