任务是模拟一对骰子的 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 回答
![?](http://img1.sycdn.imooc.com/54584ed2000152a202200220-100-100.jpg)
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
提交
取消