【发布时间】:2019-04-19 01:01:32
【问题描述】:
“假设我掷了一个 4 面的骰子,然后根据掷出的掷骰数掷一枚公平的硬币。鉴于我在掷硬币时得到了三个正面,那么骰子得分为 4 的概率是多少? "
在答案中解释说结果应该是 2/3。
我在 Python 3 中编写了以下代码:
import random
die=4
heads=3
die_max=4
tot=0
tot_die=0
for i in range(0,100000) :
die_val=random.randint(1,die_max)
heads_val=0
for j in range(0,die_val) :
heads_val+=random.randint(0,1)
if die_val==die :
tot_die+=1
if heads_val==heads and die_val==die :
tot+=1
print(tot/tot_die)
我预计它会输出 0.66 左右的值,但它实际上计算出的值约为 0.25。
我对 Python 或贝叶斯定理的理解很差吗?
【问题讨论】:
标签: python random montecarlo