我所知道的 randrange
和 randint
之间的唯一区别是 randrange([start], stop[, step])
你可以传递一个 step
参数并且 random.randrange(0, 1)
不会考虑最后一项,而 randint(0, 1)
返回一个包含最后一项的选项。
所以,我不明白为什么 randrange(0, 1)
不返回 0
或 1
。为什么我要使用 randrange(0, 2)
而不是 randrange(0, 1)
呢?
最佳答案
random.randrange([start], stop[, step])
Return a randomly selected element from
range(start, stop, step)
. This is equivalent tochoice(range(start, stop, step))
, but doesn’t actually build a range object.
还有 range(start, stop)
返回 [start, start+step, ..., stop-1]
,而不是 [start, start+step, ..., stop]
.至于为什么……从零开始的计数规则和range(n)
应该返回 n
元素,我想。我想对于获取随机索引最有用。
random.randint(a, b)
Return a random integer N such that
a <= N <= b
. Alias forrandrange(a, b+1)
所以 randint
用于当您拥有所需随机数的最大值和最小值时。
关于python - random.randint 和 randrange 有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3540431/