Я новичок в SAGE, и у меня проблема с чем-то очень простым. У меня есть следующий код:Modulo in sage возвращает отрицательное значение
delay = float(3.5)
D = delay%1.0
D
Но это возвращает значение -0.5
вместо ожидаемого 0.5
. Что я делаю не так?
Если я поменяю задержку на delay = float(2.5)
, я получаю правильный ответ, поэтому я не знаю, почему он не является последовательным (я уверен, что каким-то образом я использую modulo wrong).
Спасибо, это было хорошо читать и все объясняли. Поскольку я просто пытаюсь получить десятичную часть значения, я изменил этот раздел кода на 'D = float (str (delay-int (delay)) [1:])'. Кроме того, я был типизирован как float как попытка сделать modulo работу, я с тех пор удалил их. – toozie21