2013-09-24 45 views
0

基本上,用戶將輸入獲得成功的概率p = 0.34,那麼如何確定獲得成功所需的試驗次數?小循環會決定獲得成功需要多少試用嗎?

我知道我可以通過製作一個像n + = 1這樣的計數器來獲得試驗次數,但不知道如何使用這個概率值。幫助將不勝感激。

+0

什麼是審判呢?請詳細說明這一點。我們不知道你在說的背景。 – justhalf

+0

你想要平均水平嗎?中位數?分佈的直方圖? – user2357112

+0

那麼你希望計算機能夠以這種可能性實際運行多個試驗?看看需要多長時間?這很容易,但我不知道它是否你想要的。 – Shashank

回答

1

您可以使用random模塊中的random()生成範圍爲[0,1]的浮點值。然後,您可以將該值與用戶輸入的概率進行比較。如果隨機值爲小於用戶給定的概率,則說明您已成功。

一旦你明白了,你所需要的只是一個簡單的while循環,它將繼續生成數字,直到你獲得成功。

下面是可能會做你想要什麼功能的例子:

import random 

# The function you wanted 

def run_trials(p): 
    '''only accepts int or float in range [0.0, 1.0]'''  
    # Count trials 
    num_trials = 1 
    while True: 
     r = random.random() 
     if r <= p: 
      print "This took", num_trials, "trial(s) to get a success." 
      break 
     else: 
      num_trials += 1 


#Input 
while True: 
    p = input("Please enter a probability: ") 
    if isinstance(p, float) or isinstance(p, int): 
     if 0 <= p <= 1: 
      break  
run_trials(p) # pass it to the function 
+0

感謝你的幫助。 –