【问题标题】:Integer Division with random.randint用 random.randint 进行整数除法
【发布时间】:2017-02-25 20:34:37
【问题描述】:

当以这种形式使用 random.randint() 时,我无法进行整数除法:

(random.randint(-40, 215) - -40) // (215 - -40)

这会返回 0,但是这样的结果会正确返回:

random.randint(3,5) - 2 // 2

如何正确格式化第一个方程以获得舍入整数而不是默认为 0?

【问题讨论】:

  • 您的第一个等式是正确的:它将其转换为[0,1) 区间。由于您使用整数除法,因此结果始终为 0。
  • 我犯了一个愚蠢的错误!

标签: python integer-division


【解决方案1】:

如果有人在规范化整数时遇到这种情况,这里是一个介于 -40 和 215 之间的规范化:

(random.randint(-40,215) - -40.0) * 10 // (215.0 - -40.0) * 10

向威廉·范昂森致敬

【讨论】:

    【解决方案2】:

    如果您想要非 int 答案

    print (random.randint(-40, 215) +40.0) / (215+40)
    

    结果始终位于(0,1) 之间,其步长始终为 0,因此它始终返回零。

    【讨论】:

      猜你喜欢
      • 2017-10-22
      • 1970-01-01
      • 1970-01-01
      • 2014-01-10
      • 2019-08-21
      • 1970-01-01
      • 2018-11-14
      • 2022-09-30
      • 2014-11-16
      相关资源
      最近更新 更多