在随机模块中,数字出现的机会是否相同或者不出现?
在随机模块中,数字出现的机会是否相同或者不出现?
这个问题已经有了答案:
我想用Python构建一个用于生成彩票风险数字的程序。例如:从1到45,我希望1到45之间的每个数字(包括1和45)有相同的机会出现或不出现,就像现实生活中一样。
那么哪一种或哪些适当的随机函数可以实现这一点或与此接近(近似)。
例子
value= random.randint(1,46)
在计算机世界中,所有在1和45之间的数字是否都有像在现实世界中一样的机会出现或不出现?如果不是,如何使它更接近?
这不是关于重复的问题。
谢谢您的帮助。
admin 更改状态以发布 2023年5月24日
你想从一个[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
模块的函数,则不能保证。- 默认情况下,分布是一致的;每个数字被选择的可能性是相等的。