все Python 3Числа и математикафункция
math.fmod
остаток
Остаток от деления как в C (fmod): знак совпадает со знаком x (отличается от %).
Синтаксис
math.fmod(...)
Разница с % не косметическая: fmod повторяет C и берёт знак от делимого, а % — от делителя, поэтому math.fmod(-10, 3) это -1.0, а -10 % 3 это 2. Для целых используйте %, для float — fmod: он точен по построению, тогда как % на числах сильно разного порядка накапливает погрешность. Результат всегда float, а нулевой делитель даёт ValueError, а не ZeroDivisionError.
Примеры
import math
print(math.fmod(10, 3)) # → 1.0
print(math.fmod(-10, 3)) # → -1.0
print(-10 % 3) # → 2
print(math.fmod(10, -3)) # → 1.0
print(math.fmod(7.5, 2)) # → 1.5
print(math.fmod(10, 0)) # → ValueError
См. также
Частые ошибки
Открыть в полном глоссарииdocs.python.orgСообщить о неточности