Уроки технологии
Технология Toggle Dark/Light/Auto mode Toggle Dark/Light/Auto mode Toggle Dark/Light/Auto mode Back to homepage

Математические операторы

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

К концу этого модуля вы сможете:

использовать арифметические операторы в Python;
определять порядок операций;
преобразовать строки в числа.

Сценарий: создание программы для вычисления расстояния между планетами

Представьте себе, что вы создаете программу для вычисления расстояния между планетами. Программа позволяет пользователю вводить расстояния двух планет от солнца и вычисляет расстояние между этими двумя планетами. Кроме того, необходимо указать расстояние в милях и километрах.

Как правило, математические вычисления включают четыре основные операции: сложение, вычитание, умножение и деление. Python поддерживает четыре этих оператора и несколько других. Давайте рассмотрим наиболее распространенные операторы, которые вы будете использовать в своих программах.

Сложение

Для обозначения сложения Python использует +. При использовании + между двумя числами они суммируются и выводится общее значение.

answer = 30 + 12
print(answer)

# Output: 42

Вычитание

Подобным образом Python использует - для вычитания. При использовании - между двумя числами одно из них вычитается из другого и выводится разница.

difference = 30 - 12
print(difference)

# Output: 18

Умножение

  • в Python — это оператор умножения. Он возвращает произведение двух чисел:
product = 30 * 12
print(product)

# Output: 360

Деление

Наконец, для деления используется /. Он возвращает частное от деления двух чисел:

quotient = 30 / 12
print(quotient)

# Output: 2.5

Представьте себе, что для вывода вам нужно преобразовать количество секунд в минуты и секунды.

seconds = 1042

Первый шаг — определить количество минут в 1042 с. Учитывая, что в минуте 60 с, нужно разделить значение на 60 и получить ответ 17.3666667. Нужное значение — просто 17. Вам обязательно нужно округлить значение в меньшую сторону, используя метод деления с округлением вниз. Для деления с округлением вниз в Python используется //.

seconds = 1042
display_minutes = 1042 // 60
print(display_minutes)

# Output: 17

Следующий шаг — определение количества секунд. Это остаток от 1042 при делении на 60. Остаток можно найти с помощью оператора остатка от деления. В Python это %. Остаток от 1042 / 60 имеет значение 22. Именно его выведет оператор остатка от деления.

seconds = 1042
display_minutes = 1042 // 60
display_seconds = 1042 % 60

print(display_minutes)
print(display_seconds)

# Output:
# 17
# 22

Порядок операций

В Python учитывается порядок операций для математических вычислений. Установлено, что выражения должны вычисляться в следующем порядке:

Круглые скобки
Экспоненты и степени
Умножение и деление
Сложение и вычитание

Обратите внимание, что круглые скобки имеют приоритет перед любыми другими вычислительными операциями. Это гарантирует, что код будет выполняться предсказуемо и его будет проще читать и обслуживать. Поэтому рекомендуется использовать круглые скобки, даже если порядок операций будет таким же, как и без них. В следующих двух строках кода вторая более понятна, так как круглые скобки четко указывают на то, какая операция будет выполняться первой.

Упражнение

Создайте программу, которая может вычислить расстояние между двумя планетами. Мы начнем с двух планетных расстояний: Земли (149 597 870 км) и Юпитера (778 547 200 км). У вас есть две переменные, в которых хранится расстояние между каждой планетой и общей точкой — солнцем. Вы можете вычесть эти два значения, чтобы определить расстояние между планетами.

Начните с добавления кода для вычитания first_planet из second_planet и сохранения результата в переменной с именем Distance_km. Вывести значение на экран.

Затем добавьте код для преобразования Distance_km в мили путем деления его на 1,609 (приблизительная разница между милями и километрами) и сохраните результат в переменной с именем Distance_mi. Вывести значение на экран.

first_planet = 149597870
second_planet = 778547200

distance_km = second_planet - first_planet
print(distance_km)

distance_mi = distance_km / 1.609344
print(distance_mi)

Помимо основных арифметических вычислений, можно использовать другие операции с числами. Возможно, вам потребуется выполнить округление или преобразовать строки в числа.

В сценарии для этого модуля необходимо принять входные данные от пользователя. Это будет строка, а не число, поэтому ее потребуется преобразовать в число. Кроме того, пользователь может ввести значения, дающие отрицательный ответ, который вам не нужно отображать. Возможно, вам потребуется преобразовать ответ в абсолютное значение. К счастью, Python предоставляет служебные программы для этих операций.

Преобразование строк в числа

Python поддерживает два основных типа чисел: целые числа (или int) и числа с плавающей запятой (или float). Ключевое различие между ними — наличие десятичной запятой. В отличие от целых чисел, число с плавающей запятой содержит десятичное значение.

При преобразовании строк в числа указывается тип создаваемого числа. Необходимо решить, требуется ли десятичная запятая. Для преобразования в целое число используется int, а в число с плавающей запятой — float.

demo_int = int('215')
print(demo_int)

demo_float = float('215.3')
print(demo_float)

# Output:
# 215
# 215.3

Абсолютные значения

Абсолютное значение в математике — это неотрицательное число без знака. Использование абсолютного значения может быть полезным в различных ситуациях, включая наш пример для определения расстояния между двумя планетами. Рассмотрим следующее математическое вычисление:

39 - 16
16 - 39

Обратите внимание, что различие между двумя уравнениями заключается в том, что числа реверсируются. Ответы — 23 и -23, соответственно. При определении расстояния между двумя планетами порядок ввода чисел не имеет значения, так как абсолютный ответ будет одинаковым.

Преобразуйте отрицательное значение в его абсолютное значение с помощью abs. Если вы выполняете ту же операцию с использованием abs (и выводите ответы), обратите внимание, что для обоих уравнений отображается 23.

print(abs(39 - 16))
print(abs(16 - 39))

# Output
# 23
# 23

Округление

Встроенная функция Python round также полезна. С ее помощью выполняется округление вверх до ближайшего целого числа, если десятичное значение равно или больше .5, или вниз, если оно меньше .5.

print(round(14.5))

# Output: 15

Библиотека математических вычислений

В Python есть библиотеки, обеспечивающие более сложные операции и вычисления. Одной из самых распространенных является библиотека math. math позволяет выполнять округление с помощью floor и ceil, предоставлять значение ПИ и многие другие операции. Давайте посмотрим, как использовать эту библиотеку для округления вверх или вниз.

При округлении чисел удаляется десятичная часть числа с плавающей запятой. Можно выбрать постоянное округление вверх до ближайшего целого числа с помощью ceil или вниз с использованием floor.

from math import ceil, floor

round_up = ceil(12.5)
print(round_up)

round_down = floor(12.5)
print(round_down)

# Output
# 13
# 12