如何使用Python的random模块从两个变量中等概率二选一
50%概率二选一变量的Python实现方案
Python标准库的random模块完全可以满足需求,之前实现失败大概率是参数传递或者语法使用有误,以下是两种经过验证的可行实现:
- 方案1:使用
random.choice实现random.choice的作用是从传入的可迭代序列中等概率随机抽取一个元素,序列包含2个元素时天然满足各50%的选择概率。
正确实现代码:
import random a = 1 b = 2 selected = random.choice([a, b]) print(selected)
注意:必须将两个变量放在列表/元组中作为唯一参数传入,直接写random.choice(a, b)会触发参数数量不匹配的报错
- 方案2:使用
random.random实现random.random会生成一个服从[0, 1)区间均匀分布的浮点数,通过区间切分即可实现概率控制:
正确实现代码:
import random a = 1 b = 2 if random.random() <= 0.5: print(a) else: print(b)
两种方案运行后都会随机输出1或2,两者的出现概率严格为各50%,无需额外引入第三方概率相关模块。
内容的提问来源于stack exchange,提问作者Harold882
相关产品推荐
相关产品推荐

