随机数的定义与组成

49 0

下面先说明随机数的定义与基本规则,再给出示例和常见问题。

随机数的定义与组成

随机数生成就是在给定范围内按均匀概率取出整数或小数,常用于抽签、分组、抽样和程序测试。根据用途不同,可使用普通伪随机数或密码学安全的随机数。

  • 最小值不能大于最大值
  • 不重复模式下个数 ≤ 区间内整数个数
  • 小数随机数需要说明保留位数
  • 公开抽奖应公布范围、规则和时间
  • 需要复现结果时记录种子

示例

输入:范围 0–99,个数 4,允许重复

生成结果:示例:58、19、64、10

说明:区间共 100 个整数,每个数被抽中的概率为 1/100,期望值为 49.5。

注意事项

  • 抽奖类用途要使用安全随机源,并保留过程记录
  • “不重复”时个数不能超过范围大小
  • 不要用时间戳作为唯一的随机来源
  • 同一种子会生成同样序列,正式抽取时不要固定种子
  • 把小数乘以范围再取整时,注意上界是否能取到

常见误区

  • 误区:连续出现同一个数说明不随机——小概率事件同样会发生
  • 误区:rand() % n 完全均匀——当随机数上限不能被 n 整除时会有偏差
  • 误区:随机就是“分布得很平均”——小样本下出现聚集很正常
  • 误区:伪随机数可以生成密码——应使用 CSPRNG

实用技巧

  • 可复现实验:记录种子
  • 分组:先打乱名单再按顺序切分
  • 加权抽取:使用 random.choices 的 weights 参数
  • 大范围不重复:使用洗牌算法而不是反复抽取去重
  • 安全令牌:secrets.token_hex(16)

本站的随机数生成器工具可以直接在网页中使用,无需安装,适合快速得到和核对结果。

常见问题

【可以设置不重复吗?】可以,不重复相当于无放回抽样,个数不能超过范围内的整数个数。

【怎样生成小数?】选择小数模式并设置位数,或生成整数后除以 10 的幂。

【范围包含两端吗?】通常是闭区间,最小值和最大值都可能被抽到,使用前确认工具说明。

文中示例可以在本站对应工具中核对。

署名:123问编辑部 · 最近修订:2026-11-11 · 已按编辑与审核说明检查;内容仅供参考,不构成医疗、法律或投资建议。发现错误可查看纠错方式。

标签: 实用工具

抱歉,评论功能暂时关闭!