python - random.randint 和 randrange 有什么区别?

标签 python

我所知道的 randrangerandint 之间的唯一区别是 randrange([start], stop[, step])你可以传递一个 step 参数并且 random.randrange(0, 1) 不会考虑最后一项,而 randint(0, 1)返回一个包含最后一项的选项。

所以,我不明白为什么 randrange(0, 1) 不返回 01。为什么我要使用 randrange(0, 2) 而不是 randrange(0, 1) 呢?

最佳答案

docs on randrange 说:

random.randrange([start], stop[, step])

Return a randomly selected element from range(start, stop, step). This is equivalent to choice(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元素,我想。我想对于获取随机索引最有用。

randint is documented as :

random.randint(a, b)

Return a random integer N such that a <= N <= b. Alias for randrange(a, b+1)

所以 randint用于当您拥有所需随机数的最大值和最小值时。

关于python - random.randint 和 randrange 有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3540431/

相关文章:

python - matplotlib - 禁用绘图到屏幕 - 仅设置为 Agg

python - 使用 scipy 的 solve_bvp 求解 BVP

pythonic方法在列表上对ifelse进行矢量化

python - 如何在Dask中写入Elastic db?

Python:将复合词拆分为已知词(来自字典)

python - 在 Sympy 中,如何定义像 f(x) 这样的通用函数,以便 sympy.diff(f(x), x) 返回 f' 而不是 0。

python - 捕获变量中的结果

python - 字典文字的评估顺序

python - 滚动窗口 Pandas

python - ggplot 中的 ggsave() for python 不保存