python3中int(a//x)和int(a/x)之间的差异



如果a和x都是整数,那么Python 3中的int(a//x(和int(a/x(之间有什么区别吗。最近,我在一次比赛中使用int(a/x(时得到了一个错误的答案,但当我使用int(a//x(时,我的代码被接受了。

x, y = 3, 4
print(int(x/y))
print(x//y)

返回

0 
0 

但是:

x, y = -2, 4
print(int(x/y))
print(x//y)

返回

0 
-1 

是的。如果一个输入变量为负整数,则变量的输出会有所不同。

int(a/x)截断小数(截断数字(。它实际上并没有在int函数中进行除法运算。

a//x划分到地板(四舍五入(。它使用字节码中的BINARY_FLOOR_DIVIDE。

最新更新