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

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

【问题讨论】:

    标签: python-3.x integer-division


    【解决方案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。

    【讨论】:

      猜你喜欢
      • 2017-12-11
      • 1970-01-01
      • 1970-01-01
      • 2019-12-18
      • 1970-01-01
      • 2021-05-04
      • 2013-01-26
      • 1970-01-01
      • 2013-11-21
      相关资源
      最近更新 更多