Tom 与 Eva 的打赌
是时候来一场 Tom 与 Eva 的小游戏了!
回顾一下:Tom 有一个常规的 6 面骰子,掷出的点数在 1 到 6 的区间上服从离散均匀分布。Eva 有一枚有偏硬币,正面朝上的概率为 p。Eva 为了第一次掷出正面所需的掷数服从几何分布。
游戏规则如下:
- Tom 的得分:骰子掷出的点数;
- Eva 的得分:为第一次出现正面所需的掷币次数;
- 得分更高者获胜。
您的任务是模拟这场游戏!给定表示 Eva 硬币正面概率的 p 值列表 [0.1, 0.2, 0.3, 0.5, 0.7, 0.8, 0.9],您预计谁会赢?
已将 NumPy 导入为 np,SciPy 的 stats 模块导入为 st。
本练习是课程的一部分
Python 中的蒙特卡洛模拟
练习说明
- 模拟掷 Tom 的骰子 10,000 次,并将结果赋给
die_samples。 - 模拟 Eva 掷硬币直到出现正面 10,000 次,并将结果赋给
coin_samples。
交互式实操练习
通过完成这段示例代码来试试这个练习。
for p in [0.1, 0.2, 0.3, 0.5, 0.7, 0.8, 0.9]:
low = 1
high = 7
# Simulate rolling Tom's die 10,000 times
die_samples = ____
# Simulate Eva's coin flips to land heads 10,000 times
coin_samples = ____
diff = np.mean(die_samples - coin_samples)
print(diff)