这个问题给我的算法实现带来了困难:
>>> -19.9871/2.8553
-7.0
>>> -19.9871//2.8553
-8.0
第二师也应该回来
-7.0
。我想这与浮点错误有关,你知道另一种方法来获得预期的结果吗?使用 numpy.floor(-19.9871/2.8553)
给出了预期的结果,但也许有更好的解决方案......
此问题是因为运算符“//”在 Python 中向下舍入,对于您的情况,为 -无穷大,而“/”向上舍入。您可以使用 Python 库中已内置的 numpy.floor 或 math.floor 来代替。