题目
解决高中的古典概率问题:
有A、B两个袋子。A袋中装有4个白球、2个黑球,B袋中装有3个白球、4个黑球。从A、B两个袋子中各取n个球交换之后,求A袋中有4个白球的概率。
流程
输入:
—个整数 n
输出:
一个小数,保留2位小数,求A袋中有4个白球的概率。
样例
样例输入;
2
样例输出:
0.38
样例输入:
4
样例输出:
0.27
参考答案
#coding:utf-8
import random
n = eval(input())
T = 1e5
count = 0
count1 = 0
while count1 < T:
a = [0,0,0,0,1,1]# 0代表白球,1代表黑球
b = [0,0,0,1,1,1,1]
list1 = random.sample(a,n)
for i in list1:
a.remove(i)
list2 = random.sample(b,n)
for i in list2:
b.remove(i)
for i in list1:
b.append(i)
for i in list2:
a.append(i)
if a.count(0) == 4:
count += 1
count1 +=1
print('{:.2f}'.format(count/T))
代码思路来自 这里 ,我将其的逻辑改的更加的清晰了一点,并且改成了python3的语法。
2021年10月28日19:14:35