使用pygal模拟掷骰子

模拟骰子六个面的类:

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')

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


使用pygal模拟掷骰子_第1张图片
Paste_Image.png

你可能感兴趣的:(使用pygal模拟掷骰子)