python.pygal/random学习范例-模拟掷六面骰子点数次数生成直方图

from random import randint

class Die():

'''表示一个骰子的类'''

def __init__(self,num_sides=6):

'''骰子认为6面'''

self.num_sides=num_sides

def roll(self):

'''返回一个位于1和骰子面数之间的随机值'''

return randint(1,self.num_sides)

 

#创建一个6面的骰子

die=Die()

#掷1000次骰子,将结果存储在列表中

results=[]

for roll_num in range(1000):

result=die.roll()

results.append(result)

 

#分析结果

 

#for循环计算每个点子出现的次数并存储在列表

frequencies=[]

for value in range(1,die.num_sides+1):

frequency=results.count(value)

frequencies.append(frequency)

 

#对结果可视化,绘制直方图

import pygal

histogram=pygal.Bar()

histogram.title="投掷六面骰子1000次结果"

histogram.x_labels=['1','2','3','4','5','6']

histogram.x_title="点数"

histogram.y_title="投掷次数"

 

#将一系列值添加到图表中

histogram.add('六面骰',frequencies)

#生产svg格式的图

histogram.render_to_file('掷骰子.svg')

阅读更多
换一批

没有更多推荐了,返回首页