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)之间的区别[重复]的主要内容,如果未能解决你的问题,请参考以下文章
带有键的 std::map 作为具有三个 int 成员的结构 [重复]
GCC 对 int *a = 1,2,3,4,5 的语句做了啥?
编写程序,从键盘输入一个三位数,求出其逆序数并输出,例如输入127,输出721。
1.若X,Y,Z都定义是INT类型且初值为0,则以下不正确的赋值语句是 A,X+Y=Z+10; B,X+=Y+2; C.Z++; D.X+Y+Z