- 先上结果
>>> -1//2
-1
>>> -2//2
-1
>>> -3//2
-2
>>> -3//4
-1
>>> -0.9//2
-1.0
>>> -0.1//2
-1.0
>>> -2.2//2
-2.0
>>> 1//2
0
>>> 1.9//2
0.0
- 之前以为//是去尾法或者离结果最近的整数,所以-1//2的结果应该是0
- 今天发现//是取小于等于结果的离结果最近的整数,所以-2.2//2的结果是-2
这篇博客揭示了Python中整数除法`//`运算符的非直观行为。它并不总是去除尾数,而是返回小于或等于结果的最接近整数。例如,-2.2//2 结果为 -2,而不是预期的-1。理解这个运算符对于精确编程至关重要。
>>> -1//2
-1
>>> -2//2
-1
>>> -3//2
-2
>>> -3//4
-1
>>> -0.9//2
-1.0
>>> -0.1//2
-1.0
>>> -2.2//2
-2.0
>>> 1//2
0
>>> 1.9//2
0.0
1564

被折叠的 条评论
为什么被折叠?