我是python的新手,我很感激你的帮助:) 我有以下代码:
import random
x = 1
def round():
return random.randint(1,6)
for i in range(8):
result = round()
if result > x:
x = result
if x == 5:
print "True"
目标是计算程序打印“真”的概率,概率应为0.193。 这样做最有效的方法是什么?我想到了与bernoulli发行有关的事情并试过但我的结果是错误的。 谢谢!
答案 0 :(得分:4)
第一步是认识到你的程序简化为
x = max(randint(1,6) for _ in range(8))
那么x == 5
prob(nothing higher than 5) - prob(nothing higher than 4)
是
(5/6)**8 - (4/6)**8 # => 0.19354959705075458
答案 1 :(得分:2)