September 13, 2023

Урок 1.4. Операции с числами

Теперь разберемся, что можно делать с числами в Python. Все эти операции доступны и для целых чисел типа int, и для вещественных чисел типа float.


+, -, * и /

Очевидно, что числа можно складывать, вычитать, умножать и делить.

a = 5
b = 2

print(a+b)    # Сложение
print(a-b)    # Вычитание
print(a*b)    # Умножение
print(a/b)    # Деление

выводит:

7
3
10
2.5

**, % и //

А вот это уже интересно. Помимо привычных четырех арифметических операций в Python доступны ещё три: возведение в степень **, нахождение остатка от деления % и деление нацело //.

a = 5
b = 2

print(a**b)    # Возведение в степень
print(a%b)     # Нахождение остатка от деления
print(a//b)    # Деление нацело

выводит:

25
1
2

Если вы не поняли, что такое деление нацело, объясняем.

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

Если делим отрицательное число, то результат округляем в сторону меньшего числа. Результат целочисленного деления не превосходит частное.

a = -5
b = 2

print(a/b)    # Обычное деление
print(a//b)   # Деление нацело

выводит:

-2.5
-3

Операторы // и % имеют такой же приоритет, как и операторы умножения и обычного деления. Наивысший приоритет имеет оператор возведения в степень **.


Функции min() и max()

Функция min() находит самое маленькое число среди переданных ей аргументов.

Функция max() находит самое большое число среди переданных ей аргументов.

print(min(35, 13, 99, 78, 103, 28))
print(max(35, 13, 99, 78, 103, 28))

выводит:

13
103

Функция abs()

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

print(abs(77))
print(abs(-23))

выводит:

77
23

Специальные операторы присваивания

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

a = a + 10
b = b - 2
c = c * 3
d = d / 2
e = e ** 2
f = f % 2
g = g // 3

Но то же самое можно сделать, использовав специальные операторы присваивания вместо обычного =:

a += 10
b -= 2
c *= 3
d /= 2
e **= 2
f %= 2
g //= 3

Вторая программа делает то же самое, что и первая, но выглядит намного аккуратнее.

Тест по пройденному материалу