gpt4 book ai didi

python - random.randint(1,10) 会返回 11 吗?

转载 作者:太空狗 更新时间:2023-10-29 18:13:35 25 4
gpt4 key购买 nike

在搜索 this question 时并阅读了 random.py 中的源代码,我开始怀疑 randrangerandint 是否真的表现得像“广告”。我非常倾向于这样认为,但我读它的方式,randrange 本质上是实现为

start + int(random.random()*(stop-start))

(假设 startstop 的整数值),所以 randrange(1, 10) 应该返回 1 到 9 之间的随机数.

randint(start, stop) 正在调用 randrange(start, stop+1),从而返回 1 到 10 之间的数字。

我现在的问题是:

如果 random() 曾经返回 1.0,那么 randint(1,10) 将返回 11,不是吗?

最佳答案

来自 random.py 和文档:

"""Get the next random number in the range [0.0, 1.0)."""

)表示区间不包含1.0。也就是说,它永远不会返回 1.0。

这是数学中的通用约定,[] 是包容性的,而() 是exclusive,这两种括号可以混合使用,如(a, b] 或者[a, b)。看看wikipedia: Interval (mathematics)以获得正式的解释。

关于python - random.randint(1,10) 会返回 11 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3037952/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com