2012-07-06 75 views
1

我得到一個概率問題,我寫了一個腳本來測試它。概率模擬在Python

兩個公正的投擲骰子一次,總得分是觀察。尋找可能性: a)總分甚至大於7

我在Python中編寫了下面的腳本,它應該給我「A」的概率是正確的。

import random 

def thing(trials): 

    i = 0 
    number = 0 

    while i < trials: 

     answer1 = random.choice([1, 2, 3, 4, 5, 6]) 
     answer2 = random.choice([1, 2, 3, 4, 5, 6]) 


     if (answer1 + answer2)%2 == 0: 
      number += 1.0 
     elif (answer1 + answer2) > 7: 
      number += 1.0 

     i += 1 

    print number/i 

這給了我2/3的答案,這是正確。謝謝!

回答

1

理論的答案是:

1 2 3 4 5 6 
    ________________ 
1 |2 3 4 5 6 7 
2 |3 4 5 6 7 8 
3 |4 5 6 7 8 9 
4 |5 6 7 8 9 10 
5 |6 7 8 9 10 11 
6 |7 8 9 10 11 12 

Total favorable outputs: [(1,1),(3,1),(1,3), (1,5) .....(7,1)..(6,6)] : total 24 
All possible outputs: 36 

Theoretical probability: 2/3 

thing(1000000)試過,產量爲0.667812,這是非常接近.. :)

+0

是7大於7?每個可能的輸出是否只發生一次? – JBernardo 2012-07-06 05:03:14

+0

@JBernardo:我認爲OP把它弄錯了,我在他的代碼中用什麼來做。哦,是的!道歉,我不認爲這筆款項是以多種方式出現的。 :( – SuperSaiyan 2012-07-06 05:05:00

+0

這是不正確的,你沒有考慮到一些軋輥比其他軋輥更可能的事實(例如,2只能用1 + 1實現,但4可以用1 + 3,3 + 1或2實現+2)。 – BrenBarn 2012-07-06 05:08:42

1

通過我的計算10/12是正確的。 @Thrustmaster列出了可能性,但沒有發生它們的可能性。考慮到發生的概率,在36個可能的卷中有30個理想的結果,即5/6(或者10/12)。

編輯:我看到你更新你的問題改變問題。在這種情況下,是的,2/3是正確的。

+0

的問題是一樣的,我只是把它理解不正確。 – Dolorum 2012-07-06 05:18:34