python3中int(a//x)和int(a/x)之间的区别[重复]

Posted

技术标签:

【中文标题】python3中int(a//x)和int(a/x)之间的区别[重复]【英文标题】:difference between int(a//x) and int(a/x) in python3 [duplicate] 【发布时间】:2021-12-25 20:58:36 【问题描述】:

如果a和x都是整数,python3中的int(a//x)和int(a/x)有什么区别。 最近我在比赛中使用 int(a/x) 得到了错误的答案,但是我使用 int(a//x) 时我的代码被接受了。

【问题讨论】:

【参考方案1】:
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 

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

【讨论】:

感谢您的回答,但在我的情况下,x 和 y 都是整数。我将 (a/b) 和 (a//b) 都转换为 int,因此它们必须具有相同的类型。 感谢您的评论@PooyaOstovar 我相应地更新了我的答案【参考方案2】:

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

a//x 除以地板(向下舍入)。它在字节码中使用 BINARY_FLOOR_DIVIDE。

【讨论】:

以上是关于python3中int(a//x)和int(a/x)之间的区别[重复]的主要内容,如果未能解决你的问题,请参考以下文章