Глава 5 · Давайте поиграем с числами!
Деление с остатком
Раскладываем числа по группам — и знакомимся с двумя операторами, которых нет на обычном калькуляторе.
Кроме обычного деления /, у Python есть два оператора, которых
нет на школьном калькуляторе, но без них не обходится почти ни одна программа.
Целочисленное деление //
Возвращает только целую часть результата — «сколько раз одно число помещается в другое целиком». Представим 17 конфет, которые раскладываем по пакетикам по 5 штук:
17 // 5 = 3, 17 % 5 = 2
celochislennoe.py
print(17 // 5) # 3 — три полных пакетика
print(17 / 5) # 3.4 — обычное деление, для сравнения
Остаток от деления %
Возвращает то, что осталось после раскладывания по пакетикам — на схеме выше это 2 конфеты. Один из самых полезных операторов в программировании: например, для проверки чётности числа.
ostatok.py
print(17 % 5) # 2 — именно столько осталось
print(10 % 2) # 0 — если остаток 0, число чётное
print(11 % 2) # 1 — а если 1 — нечётное
Проверка чётности — классический приём
число % 2 == 0 — самый частый способ проверить, чётное ли число. Этот приём встретится ещё много раз в курсе.divmod() — оба результата сразу
Если нужны и целая часть, и остаток одновременно, не обязательно писать
// и % отдельно — есть встроенная
функция divmod():
divmod_primer.py
print(divmod(17, 5)) # (3, 2) — кортеж: целая часть и остаток
chast, ostatok = divmod(17, 5)
print(chast, ostatok) # 3 2
Реальные примеры
| Задача | Выражение | Результат |
|---|---|---|
| Сколько полных команд по 4 человека из 22 | 22 // 4 | 5 |
| Сколько человек останется без команды | 22 % 4 | 2 |
| Сколько часов и минут в 137 минутах | divmod(137, 60) | (2, 17) |
Практика: //, % и divmod()
Интерактивный ноутбук прямо в браузере — Python 3.14 через Pyodide, без установки