📅  最后修改于: 2023-12-03 15:13:10.914000             🧑  作者: Mango
这份解决方案是为RD Sharma上册第25章概率的练习25.1而打造的。本篇解决方案属于“9类RD Sharma解决方案”之一,在解决方案的同时,也解释了概率的概念和相关知识。
概率是指事件发生的可能性大小。它的取值在0到1之间,0表示不可能发生,1表示一定会发生。在任何情况下,所有可能事件的概率之和应该等于1。
从一副打乱了的标准扑克牌中,取出6张牌,求出以下事件的概率:
a)所有6张牌都是黑桃。
b)有5张牌是红桃和1张牌是方块。
c)至少有一张牌不是红桃。
#导入所需要的模块
import math
#定义阶乘函数
def factorial(n):
if n == 1 or n == 0:
return 1
else:
return n * factorial(n-1)
#定义组合数函数
def combination(n, r):
return factorial(n)/(factorial(r)*factorial(n-r))
#定义计算概率的函数
def probability(n, r):
return combination(13, r) * combination(39, n-r) / combination(52, n)
#计算所有6张牌都是黑桃的概率
p1 = probability(6, 6)
#计算有5张牌是红桃和1张牌是方块的概率
p2 = probability(5, 1) * probability(8, 5)
#计算至少有一张牌不是红桃的概率
p3 = 1 - probability(6, 0)
#输出结果
print("所有6张牌都是黑桃的概率:", p1)
print("有5张牌是红桃和1张牌是方块的概率:", p2)
print("至少有一张牌不是红桃的概率:", p3)
上述代码使用Python语言实现了计算三个事件的概率的功能,其中factorial()
和combination()
是用来计算阶乘和组合数的函数,probability()
函数计算每一种情况的概率。最后使用print语句输出了计算出来的概率。