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)
截断小数(截断数字)。它实际上并没有在int
function 中进行除法。
a//x
除以地板(向下舍入)。它在字节码中使用 BINARY_FLOOR_DIVIDE。
【讨论】:
以上是关于python3中int(a//x)和int(a/x)之间的区别[重复]的主要内容,如果未能解决你的问题,请参考以下文章