divmod в Python

01 dec. 14 21:03 03 dec. 19 09:52

Возвращает пару частное-остаток от деления аргументов.

divmod(a, b)

-> tuple(частное, остаток)

a — Число. Делимое.

b — Число. Делитель.


Если аргументы являются разными типами, действуют правила двоичной арифметики.

    divmod(1, 2)  # (0, 1)
divmod(-1, 2) # (-1, 1)
divmod(-1, -2) # (0, -1)
divmod(1.0, 2) # (0.0, 1.0)

Для целых результат аналогичен (a // b, a % b).

Для чисел с плавающей запятой результат аналогичен (q, a % b), где q обычно равен math.floor(a / b), однако может быть и на единицу меньше. Так или иначе, q * b + a % b приближено к a, если a % b не нуль, то имеет тот же знак, что и

b, и 0 <= abs(a % b) < abs(b).

Начиная с +py2.3 оператор не поддерживается комплексными числами. В таких случаях, если применимо, следует получить сначала число с плавающей запятой при помощи функции abs().

Синонимы поиска: divmod