任務是模擬一對骰子的 10,000 次投擲,并計算當我們將兩個骰子的結果相乘時,有多少次投擲產生偶數。這個想法是為了表明這應該非常接近理論概率 0.75。我編寫了以下代碼,但它給出了 8167 次偶積拋出,而實際上它應該接近 7500。np.random.seed(193)#np.random.randint(0,7) is a (random) die count=0for i in range(10000): if np.mod(np.random.randint(0,7)*np.random.randint(0,7), 2)==0: count+=1count(我知道有很多方法可以做到這一點,也許還有更優雅的方法,只是想看看為什么會產生這樣的結果。)
2 回答

MMMHUHU
TA貢獻1834條經驗 獲得超8個贊
正如評論中指出的,你想要,因為骰子上np.random.randint(1, 7)沒有:0
import numpy as np
np.random.seed(193)
count = 0
for i in range(10000):
if np.mod(np.random.randint(1, 7) * np.random.randint(1, 7), 2) == 0:
count += 1
print(count)
要不就:
import numpy as np
np.random.seed(193)
count = sum([1 - np.mod(np.random.randint(1, 7) * np.random.randint(1, 7), 2)
for _ in range(10000)])
print(count)
添加回答
舉報
0/150
提交
取消