在随机模块中,数字出现或不出现的几率相同吗?

2024-06-16 12:05:30 发布

您现在位置:Python中文网/ 问答频道 /正文

我想用Python构建一个程序,用于在乐透中生成危险数字。例如,从1到45,我希望1到45之间的每个数字(包括1到45)都有相同的机会出现或不出现,就像现实生活中的一样。 什么是(或什么是)可以做到这一点或更接近做到这一点的适当随机数(近似值)。 例 value=random.randint(1,46)
所有介于1和45之间的数字都有相同的机会出现还是不像《卷轴世界》中那样出现? 计算机世界中的机遇是否和卷轴世界中的机遇一样,如果不是,如何使它更接近? 这与复制无关。 谢谢你的帮助


Tags: 程序value计算机世界数字random机会randint
1条回答
网友
1楼 · 发布于 2024-06-16 12:05:30

您希望从区间[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模块函数无法指望的
  • 默认情况下,分布将是一致的;每个数字被选择的可能性相同

相关问题 更多 >