美文网首页
使用pygal模拟掷骰子

使用pygal模拟掷骰子

作者: sbill | 来源:发表于2017-04-04 10:03 被阅读0次

    模拟骰子六个面的类:

    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)
    

    掷骰子并绘制图表:

    import sys
    import pygal
    from practice import Die
    sys.path.append('E:\Python\Python 代码')
    
    die = Die()
    
    #掷骰子,并将结果存储在一个列表中
    results = []
    for roll_num in range(1000):
        result = die.roll()
        results.append(result)
    
    #分析结果
    frequencies = []
    for value in range(1, die.num_sides+1):
        frequency = results.count(value)
        frequencies.append(frequency)
    
    #对结果进行可视化
    hist = pygal.Bar()
    
    hist.title = "Results of rolling"
    hist.x_labels = ['1', '2', '3', '4', '5', '6']
    hist.x_title = "Result"
    hist.y_title = "Frequency"
    
    hist.add('D6', frequencies)         #将一系列的值添加到图表中
    hist.render_to_file('die_visual.svg')
    

    图表文件保存在当前文件夹中,而且用浏览器才能打开


    Paste_Image.png

    相关文章

      网友评论

          本文标题:使用pygal模拟掷骰子

          本文链接:https://www.haomeiwen.com/subject/dzeaottx.html