【发布时间】:2020-07-09 14:37:22
【问题描述】:
在玩必须掷两个骰子的游戏时,最好知道每次掷骰的几率。例如,掷出 12 的几率约为 3%,掷出 7 的几率约为 17%。
你可以用数学方法计算这些,但如果你不知道数学,你可以写一个程序来做。为此,您的程序应模拟掷两个骰子约 10,000 次,并计算并打印出 2、3、4 的卷的百分比。 . . , 12.
State Space for rolling 2 dice
首先我的问题来自概率百分比。考虑到只有 6 可以在 36 种可能性的状态空间中给出 12 种可能性,为什么概率是 3?
因此,我无法完成我的计划。以下是我尝试的解决方案
from random import randint
dice_roll=[]
outcome =(2,3,4,5,6,7,8,9,10,11,12)
sim =10
for simulations in range(sim):
first_dice_roll = randint(1,6)
second_dice_roll = randint(1,6)
dice_roll.append(first_dice_roll + second_dice_roll)
sumi = sum(dice_roll)
print(dice_roll,"Dice roll")
【问题讨论】:
-
3% 的概率来自
1/6 * 1/6,大约为 0.027。 -
你完全正确,只有 6+6 给出 12,所以 36 中的 1 = 1/36 = 2.78%,大约是 3%
-
首先你不需要任何模拟,这里的数学并不难。您只需要将一些积极的结果除以所有结果的数量。例如。两个骰子掷出 12 个骰子。积极的结果 - 1(只有 1 次 12 点可以在 2 次骰子中滚动)。结果总数为 36 (6 * 6) 。 (1/36) * 100% 变为 2.777778 对于 7. 阳性结果 - 6. 结果总数为 36 (6 * 6) 。 (6/36)*100% 变为 16.666667
-
感谢大家的贡献
标签: python list probability