下面是一个示例代码,演示如何创建一个不公平骰子的概率函数:
import random
# 定义不公平骰子的概率函数
def unfair_dice():
outcomes = [1, 2, 3, 4, 5, 6] # 骰子的可能结果
probabilities = [0.1, 0.1, 0.1, 0.1, 0.2, 0.4] # 对应的概率
# 使用random.choices()函数根据概率随机选择结果
result = random.choices(outcomes, probabilities)[0]
return result
# 测试不公平骰子的概率函数
num_trials = 10000
counts = [0, 0, 0, 0, 0, 0] # 统计每个结果出现的次数
for _ in range(num_trials):
result = unfair_dice()
counts[result-1] += 1
# 打印每个结果出现的次数及对应的概率
for i in range(6):
probability = counts[i] / num_trials
print(f"结果 {i+1} 出现的次数:{counts[i]}, 概率:{probability}")
这个代码中,我们首先定义了一个不公平骰子的概率函数unfair_dice()
,其中通过定义outcomes
和probabilities
两个列表来表示骰子的可能结果和对应的概率。然后,我们使用random.choices()
函数随机选择结果,根据概率来决定选择的结果。最后,我们进行10000次试验,统计每个结果出现的次数,并计算对应的概率。最终打印出每个结果出现的次数和对应的概率。