編程之美 概率題 Python實現

一下這道題,我一開始沒有找到他在數學上的要點,但是我通過編程手法模擬了這個過程,很簡單幾行代碼就獲得了正確的答案,我也許沒有數學家聰明,但是我懂Python.,結果是, 你們運行一下我這個程序就知道了,不用複雜的分析,直接代碼上就可

"""
今有一桶,存有黑白球各100個.現在每次取出兩個,如果顏色一致拿出的,從外邊拿一黑球放入,若不一致放白球進去,問最後一個球是黑球的概率是多少
我沒有進行深入的分析,直接用代碼模擬了這個行爲,得到的結果是符合題意的
"""
import random 
balls=["B"]*100+["w"]*100 # 構造一個列表B代表黑球,W代表白球
count=0 # 最終剩餘黑球的次數
for i in range(1000):# 對改行爲進行1000次的模擬
    while len(balls)>1:
        # 洗牌隨機打亂次序
         random.shuflle(balls)
        #利用列表POP方法模擬拿球出來,該方法從列表中取出的元素並沒有消失,還能用
         pop1=balls.pop()
         pop2=balls.pop()
         if pop1==pop2:
             balls.append("B")
         else:
              balls.append("W")
   if balls[0]=="B":
        count+=1
print(count/1000)


    

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章