Python 3.7+Числа и математикафункция
math.remainder
остаток
Остаток по IEEE 754: x − round(x/y)·y, результат в [−y/2, y/2].
Синтаксис
math.remainder(...)
Частное округляется к ближайшему целому (ровная половина — к чётному), поэтому знак результата не привязан ни к x, ни к y, а модуль никогда не превышает половину y: remainder(11, 3) даёт -1.0, хотя оба числа положительные. Это ровно то, что нужно для приведения углов и фаз в симметричный диапазон, но не «остаток» в бытовом смысле — для него берите % или math.fmod. Нулевой делитель даёт ValueError.
Примеры
import math
print(math.remainder(10, 3)) # → 1.0
print(math.remainder(11, 3)) # → -1.0
print(11 % 3) # → 2
print(math.remainder(7, 2)) # → -1.0
print(math.remainder(1, 0)) # → ValueError
См. также
Частые ошибки
Открыть в полном глоссарииdocs.python.orgСообщить о неточности