我想生成随机数字(h,v,d)三元组。在Python中生成具有已知离散概率的随机数
的d数量根据h的随机值产生,V下面的公知的间隔
下面有一个代码示例中的一些if语句
h和v是整数:
l="low"
m="medium"
h="high"
for i in range (100):
h=random.random()*3
v=random.choice(['low', 'medium', 'high'])
d1=1
d1_2=random.randint(1,2)
d1_3=random.randint(1,3)
if 0<h<0.5 or h==0:
if v==l:
d=d1
elif v==m:
d=d1_2
elif v==h:
d=d1_3
D1的概率是83.3%,D1_2的概率是6.7%,而D1_3是10%
我如何可以将这些可能性我ñPython?
非常感谢您提前...
你的问题是关于如何计算'd'给出'h'和'v'的值?在这种情况下,你能否以文字形式记下数字应该如何生成?还是关于如何存储'(h,v,d)'元组列表? – YXD 2013-04-09 10:53:25
没有我的问题是如何根据它们的正确概率生成d值 – irini 2013-04-09 10:59:41
您可能会对Eli Bendersky关于[加权随机选择]的页面感兴趣(http://eli.thegreenplace.net/2010/01/22 /加权随机代合蟒/)。 – DSM 2013-04-09 11:03:43