divmod()

Функция divmod() принимает два числа a и b и возвращает кортеж (a // b, a % b) — частное и остаток одной операцией. Часто удобнее и быстрее, чем считать // и % по отдельности.

Сигнатура

divmod(a, b)

Параметры:

  • a, b — целые или вещественные числа (не комплексные).

Возвращает: кортеж (quotient, remainder).

Примеры

Целые числа:

print(divmod(17, 5))
print(divmod(100, 7))
print(divmod(-17, 5))
(3, 2)
(14, 2)
(-4, 3)

Перевод секунд в часы, минуты, секунды:

total = 7384
h, rem = divmod(total, 3600)
m, s = divmod(rem, 60)
print(f"{h:02d}:{m:02d}:{s:02d}")
02:03:04

Перевод минут в часы и минуты:

minutes = 145
h, m = divmod(minutes, 60)
print(f"{h} ч {m} мин")
2 ч 25 мин

Вещественные числа:

print(divmod(7.5, 2))
print(divmod(10.0, 3.0))
(3.0, 1.5)
(3.0, 1.0)

Перевод числа в систему счисления:

def to_base(n, base):
    digits = []
    while n > 0:
        n, r = divmod(n, base)
        digits.append(r)
    return digits[::-1] or [0]

print(to_base(255, 16))
print(to_base(10, 2))
[15, 15]
[1, 0, 1, 0]

См. также

Примечание

Описание основано на официальной документации Python (docs.python.org), распространяемой под лицензией PSF License v2. © Python Software Foundation.