任務(wù)是模擬一對(duì)骰子的 10,000 次投擲,并計(jì)算當(dāng)我們將兩個(gè)骰子的結(jié)果相乘時(shí),有多少次投擲產(chǎn)生偶數(shù)。這個(gè)想法是為了表明這應(yīng)該非常接近理論概率 0.75。我編寫了以下代碼,但它給出了 8167 次偶積拋出,而實(shí)際上它應(yīng)該接近 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(我知道有很多方法可以做到這一點(diǎn),也許還有更優(yōu)雅的方法,只是想看看為什么會(huì)產(chǎn)生這樣的結(jié)果。)
2 回答

MMMHUHU
TA貢獻(xiàn)1834條經(jīng)驗(yàn) 獲得超8個(gè)贊
正如評(píng)論中指出的,你想要,因?yàn)轺蛔由蟦p.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)

阿波羅的戰(zhàn)車
TA貢獻(xiàn)1862條經(jīng)驗(yàn) 獲得超6個(gè)贊
random.randint(0,7) 可以返回 0 或 7。需要是 random.randint(1,6)
添加回答
舉報(bào)
0/150
提交
取消