Глава 5 · Давайте поиграем с числами!

Деление с остатком

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

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

Целочисленное деление //

Возвращает только целую часть результата — «сколько раз одно число помещается в другое целиком». Представим 17 конфет, которые раскладываем по пакетикам по 5 штук:

17 // 5 = 3, 17 % 5 = 2
17 конфет по 5 в пакетике — 3 полных пакетика и 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 человека из 2222 // 45
Сколько человек останется без команды22 % 42
Сколько часов и минут в 137 минутахdivmod(137, 60)(2, 17)
Практика: //, % и divmod()
Интерактивный ноутбук прямо в браузере — Python 3.14 через Pyodide, без установки
Открыть практику →