编程之美概率题 Python实现

mac2022-06-30  25

一下这道题,我一开始没有找到他在数学上的要点,但是我通过编程手法模拟了这个过程,很简单几行代码就获得了正确的答案,我也许没有数学家聪明,但是我懂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)

 

最新回复(0)