圣人的模数返回负值

时间:2014-09-19 12:11:25

标签: python sage

我是SAGE的新手,我遇到的问题非常简单。我有以下代码:

delay = float(3.5)
D = delay%1.0
D

但是这会返回值-0.5而不是预期的0.5。我做错了什么?

如果我将延迟更改为delay = float(2.5),我会得到正确的答案,所以我不知道为什么它不一致(我确定我以某种方式使用了模数错误)。

1 个答案:

答案 0 :(得分:2)

我认为this question会为你做好回答。

但是,我不知道你在Sage中使用float的原因。然后你可以直接使用Python。无论如何,%运算符在整数之外使用是很棘手的。例如,这里是用于Sage有理数的文档字符串。

   Return the remainder of division of self by other, where other is
   coerced to an integer

   INPUT:

   * ``other`` - object that coerces to an integer.

   OUTPUT: integer

   EXAMPLES:

      sage: (-4/17).__mod__(3/1)
      1

我认为这被认为是一个功能,而不是一个错误。