Арифметические операции

Урок 2 из 33

Математика в Python

В Python есть все привычные из школы арифметические операции, плюс несколько специфичных для программирования. Вот полный список:

a = 10
b = 3
print(a + b)   # 13   сложение
print(a - b)   # 7    вычитание
print(a * b)   # 30   умножение
print(a / b)   # 3.333333333333335   деление — ВСЕГДА даёт float
print(a // b)  # 3    целочисленное деление — отбрасывает остаток
print(a % b)   # 1    остаток от деления (10 = 3*3 + 1)
print(a ** b)  # 1000 возведение в степень (10 в кубе)

Почему / и // — это разные операторы

Обычное деление / в Python 3 всегда возвращает дробное число (float), даже если результат делится нацело: 10 / 2 равно 5.0, а не 5. Если нужен именно целый результат без остатка (например, посчитать, сколько полных коробок по 6 яиц получится из 20 яиц), используют целочисленное деление //: 20 // 6 даёт 3. А остаток — сколько яиц останется лишних — находят через %: 20 % 6 даёт 2.

Операция % (остаток от деления) очень часто используется для проверки чётности числа: x % 2 == 0 истинно тогда и только тогда, когда x чётное.

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

Python соблюдает привычный из математики приоритет: сначала возведение в степень **, потом умножение/деление * / // %, и в последнюю очередь сложение/вычитание + -. Как и в математике, скобки меняют порядок вычисления.

print(2 + 3 * 4)      # 14, а не 20 — сначала умножение
print((2 + 3) * 4)     # 20 — скобки меняют порядок
print(2 ** 3 ** 2)     # 512, не 64 — ** вычисляется справа налево: 2**(3**2)

Сокращённая запись изменения переменной

Часто нужно изменить значение переменной на основе её же текущего значения — для этого есть удобные сокращения:

score = 10
score += 5   # то же самое, что score = score + 5  -> 15
score -= 3   # score = score - 3  -> 12
score *= 2   # score = score * 2  -> 24
score //= 5  # score = score // 5 -> 4
⚠️ Частая ошибка: путать / и //. Если вы хотите получить целое число, а получаете дробное с кучей знаков после запятой вроде 3.333333 — скорее всего, вам был нужен оператор //, а не /.

🧪 Практическое задание

Даны стороны прямоугольника a = 5 и b = 3. Вычислите и выведите периметр (формула: 2*(a+b)), затем площадь (a*b). Каждое значение — на своей строке.

main.py
Вывод терминала
# Результат появится здесь...