Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Вивчайте Пріоритет Операторів у Python | Опанування If-Операторів у Python
Керування Потоком у Python
Секція 1. Розділ 5
single

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)
Опис коду
expand arrow

Перший результат:

  • Python спочатку обробляє and: (calories_burned >= calorie_goal and False, тобто False and False) стає 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.
Note
Примітка

Як і логічні оператори, інші оператори, такі як оператори порівняння (>=, <=, == тощо) та математичні оператори (+, -, *, / тощо), також мають певний порядок пріоритету.

Наприклад:

  1. Математичні оператори, такі як * і /, мають вищий пріоритет, ніж + і -;
  2. Оператори порівняння (<, >, == тощо) обчислюються після математичних операцій;
  3. Логічні оператори (not, and, or) обчислюються останніми.

Використання дужок ( ) допомагає зробити порядок обчислення у виразах зрозумілішим та контрольованим.

Завдання

Проведіть, щоб почати кодувати

У поточному коді Фітнес-трекера декілька вкладених операторів if ускладнюють читання та підтримку логіки. Ваше завдання — переписати код, використовуючи один лаконічний оператор if з логічними операторами. Використовуйте логічний оператор and для об'єднання кількох умов.

Фітнес-цілі слід відстежувати ефективно, як і ваш код! Поточна реалізація перевіряє, чи:

  1. Користувач не досягнув своєї цілі по кроках.
  2. Користувач не спалив достатньо калорій.
  3. Користувач не займався спортом вранці.

Перепишіть код для покращення його читабельності, зберігаючи ту ж логіку.

Рішення

Switch to desktopПерейдіть на комп'ютер для реальної практикиПродовжуйте з того місця, де ви зупинились, використовуючи один з наведених нижче варіантів
Все було зрозуміло?

Як ми можемо покращити це?

Дякуємо за ваш відгук!

Секція 1. Розділ 5
single

single

Запитати АІ

expand

Запитати АІ

ChatGPT

Запитайте про що завгодно або спробуйте одне із запропонованих запитань, щоб почати наш чат

some-alt