实例2·筛子直方图(pygal下的直方图绘制,svg格式的打开)

    xiaoxiao2025-05-13  12

    # 创建一个筛子类 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): # 只有十一个数,所以2132是因为最小是2,最大是13 j = result.count(i) # 数,213每一个数出现的次数 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图片使用浏览器打开

    结果展示

    最新回复(0)