我处于统计类,并且我们经常因各种限制而给出“骰子问题”。这是一个概率问题,我需要通过使用蒙特卡罗方法来评估事件的概率。我知道我可以通过它整合我的方式,但我想编写一个程序,使我可以简单地修改约束条件,包括我有多少个骰子,多少个骰子以及这些骰子有多少个边。使用蒙特卡罗方法在Python 3.2中查找某个特定骰子输出的特定概率
这是我正在处理的问题之一。更简单,因为我不想被我的代码写成“能力”。
假设一个骰子各有9个边。估计当你滚动5个骰子时至少有3个骰子的概率相同。
这是我们给出的问题的一般模板: 滚动X个n边的骰子,每个骰子的边数从1到n。估计我们得到3个或更多骰子的概率,结果相同。
我想为样本问题编写一个函数,假设这需要输入一个整数n,它是每个骰子中的面数,并计算出3个或更多骰子具有相同值的概率。我最大的问题是约束“至少5分之3”。 我查看了Stackoverflow上的其他类似问题,但没有一个真正触及我的基础。你将如何编写约束代码? 我正在使用Python 3.2。
class Die(object):
def __init__(self, sides = 9):
self.sides = sides
def roll(self):
return randint(1, self.sides)
我被困在这里。任何输入是有帮助的,谢谢!
@MartijnPieters真的吗?但是,我还能如何确保掷骰子是公平和独立的? – user2227808 2013-05-07 13:12:45
啊,现在我真的应该把我的脚从我的嘴里拿出来,读一下蒙特卡洛方法*先*。我的道歉,这是你*掷骰子的方法之一。 :-P – 2013-05-07 13:19:41