用 python 实现以下问题: 1、计算投1000,10000次骰子点数3朝上的概率,并画图(横坐标为投的次数,纵坐标为频率)。
时间: 2024-09-30 10:08:30 浏览: 29
在Python中,我们可以使用random模块模拟抛掷骰子的过程,然后统计结果来计算点数为3的概率。由于每次投掷的结果是独立的,我们可以通过多次循环并记录结果来得到频率分布。这里是一个简单的示例:
```python
import random
import matplotlib.pyplot as plt
# 投骰子函数
def roll_dice():
return random.randint(1, 6)
# 投掷次数
trials = 10000
# 初始化结果列表
results = [roll_dice() for _ in range(trials)]
count_3 = results.count(3)
probability = count_3 / trials
# 计算3朝上次数的频率
frequency_3 = count_3 / trials * 100
# 绘制直方图
plt.hist(results, bins=range(1, 7), align='left', edgecolor='black')
plt.axvline(x=3, color='red', linestyle='dashed', linewidth=2, label=f"3朝上 ({frequency_3:.2f}%)")
plt.xlabel('骰子点数')
plt.ylabel('频率')
plt.title(f'投{trials}次骰子,点数3朝上的概率约为{probability*100:.2f}%')
plt.legend()
plt.show()
# 输出概率
print(f"投掷{trials}次,点数3朝上的概率大约是{probability*100:.2f}%")
阅读全文