# 创建一个筛子类
import pygal
from random
import randint
class Shaizi():
def
__init__(self
, sides_num
=6):
self
.sides_num
= sides_num
def
number(self
):
return randint(1, 6)
# 掷骰子
shaizi1
= Shaizi()
shaizi2
= Shaizi()
result
= [] # 建立一个空列表,一会装两个筛子的数据和
for i
in range(1000):
j
= shaizi1
.number() + shaizi2
.number()
result
.append(j
)
count
= []
for i
in range(2, 13): # 只有十一个数,所以
2到
13,
2是因为最小是
2,最大是
13
j
= result
.count(i
) # 数,
2到
13每一个数出现的次数
count
.append(j
) # 将其加到“出现次数”这个列表的最后
# 绘制直方图参数
hist
= pygal
.Bar() # pygal的bar模块
hist
.title
= "计算两个筛子出现的点数和"
hist
.x_labels
= ['2', '3', '4', '5', '6', '7', '8', '9', '10', '11', '12']
hist
.x_title
= "点"
hist
.y_title
= "结果"
hist
.add('点数和', count
)
hist
.render_to_file('两筛子出现和直方图.svg')#svg图片使用浏览器打开
结果展示
转载请注明原文地址: https://yun.8miu.com/read-137841.html