擲兩顆公平骰子
你現在已經知道如何實作模擬的前兩個步驟。接下來要進行下一步——定義隨機變數之間的關係。
在許多情況下,模擬不只包含一個,而是多個隨機變數。想像一個遊戲:你擲兩顆骰子,若兩顆出現相同點數就算贏。這裡有兩個隨機變數(兩顆骰子),而它們之間的關係是:若點數相同則獲勝,不同則失敗。實務上,隨機變數之間的關係可能複雜得多,特別是在模擬像是天氣型態之類的情境時。
在這個練習結束時,你會熟悉如何實作跑模擬的第三個步驟——定義隨機變數之間的關係。
本練習屬於課程
Python 的統計模擬
練習說明
- 將
num_dice設為 2。 - 完成
np.random.choice()函式來擲兩顆骰子,並把結果記錄在變數outcomes中。 - 填入布林條件,用來檢查兩顆骰子是否出現相同點數。
動手互動練習
試著完成這個範例程式碼,體驗一下這個練習。
# Initialize number of dice, simulate & record outcome
die, probabilities, num_dice = [1,2,3,4,5,6], [1/6, 1/6, 1/6, 1/6, 1/6, 1/6], ____
outcomes = np.random.choice(____, size=____, p=____)
# Win if the two dice show the same number
if ____ == ____:
answer = 'win'
else:
answer = 'lose'
print("The dice show {} and {}. You {}!".format(outcomes[0], outcomes[1], answer))