用 random.randint 进行整数除法

Posted

技术标签:

【中文标题】用 random.randint 进行整数除法【英文标题】:Integer Division with 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。 我犯了一个愚蠢的错误! 【参考方案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,因此它始终返回零。

【讨论】:

以上是关于用 random.randint 进行整数除法的主要内容,如果未能解决你的问题,请参考以下文章

python预习-第三节

python学习——常用模块

python随机生成100内的10个整数?

python的标准库 ----random

实验3

randint在python中的意思