python应用-掷骰子模拟-pygal

Posted pprp

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python应用-掷骰子模拟-pygal相关的知识,希望对你有一定的参考价值。

pygal安装:

Linux下:
pip install pygal
Windows下:
python -m pip install pygal

效果如图:

# -*- coding: utf-8 -*-
"""
Created on Fri Sep 28 23:07:29 2018
@author: pprp
"""

from random import randint
import pygal

class Die():
    def __init__(self,num_sides=6):
        self.num_sides=num_sides
        
    def roll(self):
        return randint(1,self.num_sides)
    
if __name__ == \'__main__\':    
    die1=Die()
    die2=Die()
    
    results=[]
    
    for roll_num in range(100000):
        result = die1.roll()+die2.roll()
        results.append(result)
        
        
    frequencies=[]
    max_result=die1.num_sides+die2.num_sides
    for val in range(2,max_result+1):
        frequency=results.count(val)
        frequencies.append(frequency)
        
    print(frequencies)
    
    hist=pygal.Bar()
    
    hist.title="Rolling one D6 1000 times"
    hist.x_labels=[\'2\',\'3\',\'4\',\'5\',\'6\',\'7\',\'8\',\'9\',\'10\',\'11\',\'12\']
    hist.x_title="result"
    hist.y_title="Frequency"
    
    hist.add(\'D6 + D6\',frequencies)
    hist.render_to_file(\'die_visual.svg\')

以上是关于python应用-掷骰子模拟-pygal的主要内容,如果未能解决你的问题,请参考以下文章

python使用pygal模拟掷骰子模拟1000次可是结果相加不是1000,求大神解答

python之pygal:掷两个不同的骰子并统计大小出现次数

python之pygal:掷一个骰子统计次数并以直方图形式显示

掷骰子

Python开发模块:Pygal 绘制直方图

python掷骰子游戏