Python:从入门到实践 习题15-6

本文介绍了一种使用Python和Pygal库自动生成骰子游戏结果的可视化图表的方法。通过创建两个不同点数的骰子(D6和D10),进行50,000次投掷,并记录下每次投掷的总点数。然后统计每个可能结果的出现频率,并使用柱状图进行可视化展示。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

15-6 自动生成标签:请修改 die.py 和 dice_visual.py,将用来设置 hist.x_labels 值的列表替换为一个自动生成这种列表的循环。如果你熟悉列表解析,可尝试将die_visual.py 和 dice_visual.py 中的其他 for 循环也替换为列表解析。

 

from die import Die
import pygal

#创建两个点数不同的骰子
die_1=Die()
die_2=Die(10)

#投掷多次并将结果记录在列表中
results=[]

for roll_num in range(50000):
    result=die_1.roll() + die_2.roll()
    results.append(result)

#统计频率
frequencies=[]
max_result=die_1.num_sides + die_2.num_sides
for value in range(2,max_result+1):
    frequency=results.count(value)
    frequencies.append(frequency)

#可视化结果
hist=pygal.Bar()
hist.title = "Results of rolling a D6 and a D10 50,000 times." 
#将x轴列表变为循环生成的列表
xs=[]
for value in range(2,max_result+1):
    xs.append(value)
hist.x_labels=xs
hist.x_title = "Result" 
hist.y_title = "Frequency of Result" 

hist.add('D6 + D10', frequencies) 
hist.render_to_file('different_dice_visual.svg') 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值