我想生成隨機數字(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