0
基本上,用戶將輸入獲得成功的概率p = 0.34,那麼如何確定獲得成功所需的試驗次數?小循環會決定獲得成功需要多少試用嗎?
我知道我可以通過製作一個像n + = 1這樣的計數器來獲得試驗次數,但不知道如何使用這個概率值。幫助將不勝感激。
基本上,用戶將輸入獲得成功的概率p = 0.34,那麼如何確定獲得成功所需的試驗次數?小循環會決定獲得成功需要多少試用嗎?
我知道我可以通過製作一個像n + = 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
感謝你的幫助。 –
什麼是審判呢?請詳細說明這一點。我們不知道你在說的背景。 – justhalf
你想要平均水平嗎?中位數?分佈的直方圖? – user2357112
那麼你希望計算機能夠以這種可能性實際運行多個試驗?看看需要多長時間?這很容易,但我不知道它是否你想要的。 – Shashank