2015-10-04 21 views
2

我正在考慮一個有條件的流程,大概會產生一半的時間,或半個時間的整數。我的代碼是這樣的:如何在python中創建一個概率條件流?

import random 
for i in range(10): 
    binarychoice=random.randint(0,1) 
    if binarychoice=0: 
     pass #do whatever you need to do, return an integer 
    elif binarychoice=1: 
     pass #do whatever you need, return a float 

這是正確的嗎?然而,是否有任何圖書館可以做這樣的概率條件流(因爲我從來沒有真正聽說過它,很大程度上是由於經驗不足),所以我可以簡單地沿着「X ......或Y」執行X或Y的概率是一半?

+0

'binarychoice == 0',而不是'binarychoice = 0 '和'binarychoice == 1'而不是'binarychoice = 1' –

+0

你是在尋找隨機的制服還是你想要以某種方式來衡量你的隨機性? – bud

回答

4

如果只是50/50,這是一個有點清潔:

import random 
for i in range(10): 
    if random.randint(0,1): 
     pass #do whatever you need to do, return an integer 
    else: 
     pass #do whatever you need, return a float 

,或具有概率更大的靈活性:

import random 
for i in range(10): 
    if random.random() < .8: 
     pass #do whatever you need to do, return an integer 
    else: 
     pass #do whatever you need, return a float