开始使用免费开始使用

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)
编辑并运行代码