Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Вивчайте Пріоритет Операторів | Оператор If у Python
Умовні оператори в Python

book
Пріоритет Операторів

При розробці Python-додатка важливо розуміти, як Python обробляє пріоритет операторів, що визначає порядок виконання операцій у виразах. Це забезпечує правильну оцінку умов. Використання дужок також може допомогти уточнити та контролювати порядок операцій.

Пріоритет логічних операторів

Серед логічних операторів Python дотримується такого пріоритету:

Приклад: Цілі трекера фітнесу

Давайте уточнимо за допомогою прикладів у контексті трекера фітнесу:

# 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)
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 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)
copy
Завдання

Swipe to start coding

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

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

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

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

Рішення

steps_taken = 9000
step_goal = 10000
calories_burned = 350
calorie_goal = 500
morning_exercise = False

all_conditions_met = True

if steps_taken <= step_goal and calories_burned <= calorie_goal and not morning_exercise:
all_conditions_met = False
print("Have all conditions been met?", all_conditions_met)
Все було зрозуміло?

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

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

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

single

steps_taken = 9000
step_goal = 10000
calories_burned = 350
calorie_goal = 500
morning_exercise = False

all_conditions_met = True

# Rewrite this using a single if statement
if steps_taken <= step_goal:
if calories_burned <= calorie_goal:
if morning_exercise == False:
all_conditions_met = False

# Testing
print("Have all conditions been met?", all_conditions_met)

Запитати АІ

expand

Запитати АІ

ChatGPT

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

some-alt