Изменение поведения математического модуля Python для деления неположительных чисел

Неположительное деление чисел в языках программирования C ++ и Python сильно отличается:

//c++:
11 / 3 = 3
11 % 3 = 2
(-11) / 3 = -3
(-11) % 3 = -2
11 / (-3) = -3
11 % (-3) = 2
(-11) / (-3) = 3
(-11) % (-3) = -2

Итак, как вы можете видеть, C ++ минимизирует частное. Однако python ведет себя так:

#python
11 / 3 = 3
11 % 3 = 2
(-11) / 3 = -4
(-11) % 3 = 1
11 / (-3) = -4
11 % (-3) = -1
(-11) / (-3) = 3
(-11) % (-3) = -2

Я не могу закодировать свою собственную функцию деления, которая ведет себя как c ++, потому что я буду использовать ее для проверки программ калькулятора c ++, а python не поддерживает инфиксные операторы. Могу ли я заставить python вести себя как c ++, просто разделяя целые числа? Например, установка какого-либо флага или чего-то подобного?

5
задан karlicoss 21 May 2011 в 21:04
поделиться