Стоит также отметить, что деление в python отличается от C: рассмотрим
>>> x = -10
>>> y = 37
в C, вы ожидаете результат
0
что такое х / у вpython?
>>> print x/y
-1
и% по модулю - не остаток!В то время как x% y в C даёт
-10
python, даётся.
>>> print x%y
27
Вы можете получить оба, как в C
Разделение:
>>> from math import trunc
>>> d = trunc(float(x)/y)
>>> print d
0
И остаток (с использованием деления сверху):
>>> r = x - d*y
>>> print r
-10
Этот расчет, возможно, не самый быстрый, но он работает для любых комбинаций знаков x и y для достижения тех же результатов, что и в C плюсизбегает условных выражений.