只是随机尝试了这个:
>>> int(-1/2)
-1
>>> int(-0.5)
0
Run Code Online (Sandbox Code Playgroud)
为什么结果不同?
试试这个:
>>> -1/2
-1
>>> -0.5
-0.5
Run Code Online (Sandbox Code Playgroud)
区别在于整数除法(前者)在某些版本的Python中导致整数,而不是像第二个数字那样的浮点数.你使用int两个不同的数字,所以你会得到不同的结果.如果您先指定浮点数,您将看到差异消失.
>>> -1.0/2.0
-0.5
>>> int(-1.0/2.0)
0
>>> int(-0.5)
0
Run Code Online (Sandbox Code Playgroud)