在随机模块中,数字出现的机会是否相同或者不出现?

11 浏览
0 Comments

在随机模块中,数字出现的机会是否相同或者不出现?

这个问题已经有了答案:

如何生成没有重复的随机数列表?

生成介于0和9之间的随机整数

任何编程语言中的随机函数是否有偏差?

我想用Python构建一个用于生成彩票风险数字的程序。例如:从1到45,我希望1到45之间的每个数字(包括1和45)有相同的机会出现或不出现,就像现实生活中一样

那么哪一种或哪些适当的随机函数可以实现这一点或与此接近(近似)。

例子

value= random.randint(1,46)

在计算机世界中,所有在1和45之间的数字是否都有像在现实世界中一样的机会出现或不出现?如果不是,如何使它更接近?

这不是关于重复的问题。

谢谢您的帮助。

admin 更改状态以发布 2023年5月24日
0
0 Comments

你想从一个[1,45]区间的离散一致分布中无放回地抽取 k 个数字。

假设你要选择 6 个数字。那么可以写成

import random
winners = random.sample(range(1, 46), k=6)

然后 winners 就会是一个由六个随机选出的数字组成的列表。

解释:

  • range(1, 45)表示区间[1,45)。换句话说,它不包含45。所以第二个参数是46。
  • sample 从45个数字的范围中无放回地选择k个数字。换句话说,就像典型的彩票一样,不会选择两次同一个数字 —— 而对于其他 random 模块的函数,则不能保证。
  • 默认情况下,分布是一致的;每个数字被选择的可能性是相等的。
0