猿问

当操作数为负数时,Python除法运算符的行为异常

我不小心偶然发现了python中的一种奇怪行为。在repl中输入这种代码的安全性。


In [29]: 7 /-3

Out[29]: -3

在任何地方都找不到对此结果的任何合理解释。这是怎么回事?


HUH函数
浏览 270回答 3
3回答

ITMISS

在执行整数除法时,数字会四舍五入到较低的int(以N为单位floor(x)返回最大值n,使n <= x)。这意味着对于负数,四舍五入的数值将具有更高的绝对值(因此7/3 == floor(7//-3) == floor(-2.333)返回-3)。

慕哥6287543

当进行整数除法时,python将四舍五入到下一个较低的整数(底数)。这就是为什么如果您计算7/3python会告诉您它的原因2。当您键入内容时,7/-3它不会变成-2地板,因为它不会成为地板。-3是下一个较低的整数。
随时随地看视频慕课网APP

相关分类

Python
我要回答