编程之美 概率题 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)


    

 

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