Математические вычисления в Python 3

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

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

Данное руководство научит вас работать с двумя наиболее распространёнными числовыми типами данных Python:

  • целыми числами (бывают положительными, отрицательными или равными нулю (…, -1, 0, 1, …)).
  • и числами с плавающей точкой (числа с десятичными знаками (например, 9.0 или -2.25)).

Читайте также: Типы данных в Python 3

Операторы Python

Оператор – это символ или функция, которая выполняет то или иное действие над данными. К примеру, символ + – это оператор сложения.

В Python присутствуют как общие, так и специальные математические операторы.

Ниже приведена таблица наиболее распространённых математических операторов Python.

Операция Результат
x + y Сложение (сумма x и y)
x – y Вычитание (разница между x и y)
-x Смена знака x
+x Тождественность x
x * y Умножение x на y
x / y Деление x на y
x // y Получение целой части от деления x на y
x % y Остаток от деления x / y
x ** y Возведение в степень

Также руководство охватывает использование операторов присваивания.

Сложение и вычитание

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

Например:

print(1 + 5)
6

Также вы можете объявить переменные и указать их в функции print:

a = 88
b = 103
print(a + b)
191

Целые числа бывают положительными и отрицательными. Попробуйте сложить следующие числа:

c = -36
d = 25
print(c + d)
-11

Числа с плавающей точкой складываются аналогичным образом:

e = 5.5
f = 2.5
print(e + f)
8.0

В результате сложения чисел с плавающей точкой также получается число с плавающей точкой, потому Python выводит 8.0, а не 8.

Синтаксис вычитания отличается от сложения только оператором. Попробуйте отнять 32 из 75.67:

g = 75.67
h = 32
print(g - h)
43.67

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

Унарные арифметические операции

Унарное математическое выражение состоит только из одного компонента или элемента. В Python плюс и минус вместе со значением могут быть использованы в качестве одного элемента, это позволяет показать тождественность значения (+) или изменить его знак (-).

Тождественность используется нечасто. Плюс можно использовать с положительными числами:

i = 3.3
print(+i)
3.3

Если вы используете плюс с отрицательным числом, он также вернёт тождественное (в этом случае – отрицательное) число.

j = -19
print(+j)
-19

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

i = 3.3
print(-i)
-3.3

Если добавить минус к отрицательному значению, в результате получится положительное число:

j = -19
print(-j)
19

Умножение и деление

Операции умножения и деления, как сложение и вычитание, выполняются в Python так же, как в обычной математике. Для умножения Python использует *, для деления – /.

Например:

k = 100.1
l = 10.1
print(k * l)
1011.0099999999999

При делении в Python 3 частное всегда возвращается в виде числа с плавающей точкой, даже если вы делите целые числа:

m = 80
n = 5
print(m / n)
16.0

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

Читайте также: Python 2 vs Python 3

Когда числа по обе стороны символа деления являются целыми, выполняется деление floor, то есть, для фактора х Python 2 возвращает наибольшее целое число меньше или равное х. К примеру, при делении 5 / 2 таким числом будет 2.

Чтобы выполнить деление floor и получить только целую часть числа, Python 3 использует оператор //. К примеру, разделив 100//40, вы получите 2.

Деление по модулю

Оператор % – это модуль, который возвращает остаток от деления. К примеру, это позволяет найти числа, кратные одному и тому же числу.

Например:

o = 85
p = 15
print(o % p)
10

При делении 85 на 15 получается 5 и 10 в остатке.

Попробуйте разделить числа с плавающей точкой:

q = 36.0
r = 6.0
print(o % p)
0.0

Число 36.0 делится на 6.0 без остатка, потому в результате получился 0.0.

Возведение в степень

Оператор ** в Python возводит число в степень. Например, выражение 5 ** 3 значит, что 5 нужно возвести в третью степень. В математике это выглядит так: 5³. В Python можно получить тот же результат (125), умножив 5*5*5.

Например:

s = 52.25
t = 7
print(s ** t)
1063173305051.292

Приоритет операций

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

К примеру:

u = 10 + 10 * 5

Сначала выполняется умножение (10*5=50), а затем сложение (10+50). Потому результат будет такой:

print(u)
60

Чтобы сначала выполнить операцию сложения, а затем умножить полученный результат на 5, нужно взять сложение в скобки:

u = (10 + 10) * 5
print(u)
100

Математические операции имеют такой приоритет:

  1. Выражение в скобках;
  2. Экспоненты;
  3. Умножение;
  4. Деление;
  5. Сложение;
  6. Вычитание.

Операторы присваивания

Наиболее распространённым оператором присваивания является знак равенства (=). Он присваивает переменной слева значение справа. К примеру, в выражении v = 23 переменной v было присвоено значение 23.

В программировании часто используются составные операторы присваивания, которые выполняют операцию со значением переменной, а затем присваивают этой переменной полученное новое значение. Составные операторы объединяют арифметический оператор с оператором =. Например:

w = 5
w += 1
print(w)
6

Составной оператор += выполнил сложение, а затем присвоил переменной w, значение, полученное в результате сложения.

Составные операторы часто используются в циклах.

for x in range (0, 7):
x *= 2
print(x)
0
2
4
6
8
10
12

Это позволяет автоматизировать процесс умножения чисел в заданном диапазоне.

В Python есть составные операторы присваивания для каждой математической операции:

y += 1          # сложение и присваивание
y -= 1          # вычитание и присваивание
y *= 2          # умножение и присваивание
y /= 3          # деление и присваивание
y // = 5        # деление floor и присваивание
y **= 2         # возведение в степень и присваивание
y %= 3          # вывод остатка и присваивание

Операторы присваивания позволяют постепенно увеличить или уменьшить значение, а также автоматизировать некоторые вычисления.

Заключение

Теперь вы умеете выполнять вычисления в Python. Читайте также:

Tags: ,

1 комментарий

Добавить комментарий