#encoding=gbk
from random import randint
class Die():
"""表示一个骰子的类"""
def __init__(self, num_sides=6):
self.num_sides = num_sides
def roll(self):
#随机返回一个点数1,2,3,4,5,6
return randint(1, self.num_sides)
#encoding=gbk
import pygal
from die import Die
die = Die()
results = []
for i in range(1000): #0-999次
result = die.roll()
results.append(result)
#分析结果,骰子出现各点的次数
frequencies = []
for value in range(1, die.num_sides + 1):
frequency = results.count(value)
frequencies.append(frequency)
#print(frequencies)
#绘制直方图,对结果进行可视化
hist = pygal.Bar()
hist.title = 'Results of rolling one D6 1000 times'
hist.x_labels = ['1','2','3','4','5','6']
hist.x_title = 'Result'
hist.y_title = 'Frequency of Result'
hist.add('D6',frequencies)
hist.render_to_file('C:\\Users\\bingk\\Desktop\\python_dir\\picture\\die_visual.svg') #扩展名必须为svg