如何模拟含随机结果的while循环并查看输出结果分布?
多次模拟随机while循环并统计结果分布
首先,把单次循环的逻辑封装成函数,方便重复调用:
import random def simulate_rolls(): rolls = 0 count = 0 while rolls < 10: dice = random.randint(1,6) rolls += 1 count += dice return count
接下来执行100次模拟,把每次结果存入列表:
# 设定模拟次数 num_simulations = 100 results = [] for _ in range(num_simulations): results.append(simulate_rolls())
查看结果分布的两种方式
统计频次:用
collections.Counter直接统计每个结果的出现次数from collections import Counter result_counts = Counter(results) # 按结果值排序输出 for res in sorted(result_counts): print(f"总点数 {res} 出现了 {result_counts[res]} 次")可视化直方图:用
matplotlib生成直观的分布图表import matplotlib.pyplot as plt plt.hist(results, bins=range(min(results), max(results)+2), edgecolor='black') plt.xlabel('总点数') plt.ylabel('出现次数') plt.title('100次模拟的总点数分布') plt.show()
内容的提问来源于stack exchange,提问作者Nate Go
相关产品推荐
相关产品推荐

