我處於統計類,並且我們經常因各種限制而給出「骰子問題」。這是一個概率問題,我需要通過使用蒙特卡羅方法來評估事件的概率。我知道我可以通過它整合我的方式,但我想編寫一個程序,使我可以簡單地修改約束條件,包括我有多少個骰子,多少個骰子以及這些骰子有多少個邊。使用蒙特卡羅方法在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