在线抽签工具 – 随机点名・抽奖转盘
免费的在线抽签工具。逐行输入名字,转动转盘即可随机抽出中签者。支持一次抽多人、把中签者从候选中移除后继续抽、保留抽签记录,并使用浏览器的密码学随机数,结果公平没有偏差。
什么是在线抽签工具
在线抽签工具只需逐行输入名字、奖品等候选,转动转盘就能随机抽出中签者。聚会和活动的抽奖、课堂上的随机点名、交换礼物的顺序、社交媒体活动的中奖者等过去需要做纸签的场合,现在当场就能完成。也可以一次抽出多人;勾选“把中签者从候选中移除”后,依次抽一等奖、二等奖、三等奖时不会有人重复中签。
中签者并不是由转盘的外观决定的,而是先用浏览器的密码学随机数(crypto.getRandomValues)选定,再让转盘停在对应的格子上。把随机数换算成候选位置时,还用“拒绝采样”去掉了取余带来的偏差,因此每个候选被抽中的概率完全相同。输入的候选不会发送到服务器,全部在您的浏览器内处理。
在线抽签的使用方法
- 每行输入一个候选 用换行分隔输入名字、奖品或号码。空行会被自动忽略,可以直接从名单中粘贴。支持 2~1000 个候选。
- 设置每次抽取人数 只抽一人时保持为 1 即可。若要抽 3 人,设为 3 后一次就会不重复地抽出 3 人,并按抽中的顺序标上 1、2、3。
- 需要时勾选“把中签者从候选中移除” 从一等奖开始逐个抽取时,勾选后中签者会自动从候选中消失,同一个人不会抽中两次。
- 转动转盘并分享结果 点击“转动转盘”,转盘会转几秒后停下并显示中签者。结果可以复制到群聊,也可以分享到 X 或 LINE。
用好本工具的小技巧
在线抽签的使用场景
聚会与活动抽奖
不用宾果卡,输入参加者的名字转一转就能决定谁拿奖品。共享屏幕后大家可以一起看转盘转动,既热闹又能体现公平。
课堂与会议点名
需要随机决定发言人、主持人或值日生时可以使用。勾选“把中签者从候选中移除”,就能转到每个人都轮到一次为止。
社交媒体抽奖活动
粘贴参与者的名字或账号即可抽出中奖者。多人中奖也能一次决定,结果可以直接复制用于公布。
日常的选择难题
午饭吃什么、周末去哪里玩、游戏谁先开始等,难以决定的事情可以交给转盘。把同一个选项多写几次,还能提高它被选中的概率。
在线抽签相关用语
- 密码学随机数
- 为了无法预测而设计的随机数,也用于生成密码和加密密钥。本工具用浏览器 crypto.getRandomValues 得到的值来决定中签者。
- 取余偏差
- 直接用随机数除以候选数的余数来选人时,部分候选会略微更容易被选中的现象。本工具用拒绝采样消除了这种偏差。
- 拒绝采样
- 当随机数落在会造成偏差的范围时,丢弃它重新抽取的方法。几乎不增加额外负担,却能保证每个候选的概率完全相同。
- 不放回抽签
- 已经中签的候选不会再被抽中的方式,就像从签筒抽出的签不再放回去。抽取多人或依次抽各等奖时使用。
在线抽签常见问题
闲话 ― 用“余数”来抽签,签就不公平了
让计算机“从 6 个人中选 1 个”,最直接的方法是用随机数除以 6 取余数。但这个方法里藏着不易察觉的偏差。比如用 0~255 的随机数除以 3 取余,因为 256 不能被 3 整除,余数为 0 的数有 86 个,余数为 1 和 2 的各有 85 个,第一个人就会稍微更容易被抽中。这叫作“取余偏差”。
偏差的大小取决于随机数的范围和候选的数量,使用 32 位随机数时差别非常小。但在抽签这种“概率完全相同”本身就是价值的场合,仍然不能忽视。常用的解决方法是“拒绝采样”:当随机数落在会产生偏差的范围时就丢弃重抽。需要丢弃的概率通常极小,几乎不会连续重抽多次。
不重复地选出多个人,也有很长的历史。统计学家费希尔和耶茨在 1938 年发表了用随机数表把数列随机重排的方法;1964 年,德斯滕费尔德发表了适合计算机的高效版本,如今以“费希尔–耶茨洗牌”之名被广泛使用。本工具的不放回抽签也基于同样的思路,每选出一人就把他从候选中移除。