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.