Tom 與 Eva 的打賭
來玩一場 Tom 與 Eva 的小遊戲吧!
回想一下,Tom 有一顆一般的六面骰,擲骰結果在 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 的 Monte Carlo 模擬
練習說明
- 模擬擲 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)