你能解释一下python shell发生了什么吗?
>>> 6/7
0
>>> -6/7
-1
>>> -(6/7)
0
答案 0 :(得分:1)
如果输入整数,/
运算符python总是舍入到负无穷大(所以到“更负”值),如python docs中所述。这解释了所描述的行为。
因此6/7
为0.857...
并且四舍五入为0
而-6/7
给出-0.857...
,并将四舍五入为-1
。最后-0
等于0
。
答案 1 :(得分:1)
如果要执行浮点除法,则应将以下导入设置在脚本顶部或作为Python shell中的第一行:
from __future__ import division
这将确保您获得正确的结果。如果要执行整数除法,请改为使用//
。