zoukankan      html  css  js  c++  java
  • Pygal之掷骰子

    python之使用pygal模拟掷骰子创建直方图:

    1,文件die.py,源码如下:

     1 from random import randint
     2 
     3 class Die():
     4     '''表示一个骰子的类'''
     5     def __init__(self,num_sides = 6):
     6         '''初始化骰子的面数属性,骰子的默认面数为6'''
     7         self.num_sides = num_sides
     8 
     9     def roll(self):
    10         #返回一个位于1和骰子面数之间的随机整数值,可以是1,可以是num_sides,也可以是这两值之间的任何整数
    11         return randint(1,self.num_sides)

    2,文件die_visual.py,源码如下:

     1 import pygal
     2 
     3 from die import Die
     4 
     5 #创建一个骰子面数为6的实例
     6 die = Die()
     7 
     8 #创建空列表,用以存储掷骰子的次数
     9 results = []
    10 for roll_num in range(100):
    11     result = die.roll()
    12     results.append(result)
    13 
    14 #创建空列表frequency用以分析结果
    15 frequencies = []
    16 for value in range(1,die.num_sides+1):
    17     frequency = results.count(value)
    18     frequencies.append(frequency)
    19 
    20 '''对结果进行可视化'''
    21 
    22 hist = pygal.Bar() #创建条形图,并将其存储在hist中
    23 
    24 hist.title = "Results of rolling one D6 1000 times" #设置直方图的标题
    25 hist.x_labels = ['1','2','3','4','5','6'] #设置直方图的可能的x轴的值
    26 hist.x_title = "Results" #设置x轴的标题
    27 hist.y_title = "Frequency of Result" #设置y轴的标题
    28 
    29 hist.add('D6',frequencies) #使用add()函数将值D6和列表frequencies添加到直方图中
    30 #在当前文件夹下保存名为die_visual.svg且后缀必须为svg的文件
    31 hist.render_to_file('die_visual.svg')

    在码的过程中,可以尝试打印列表results和列表frequencies的值,看是不是符合预期。

  • 相关阅读:
    WCF Server Console
    Restart IIS With Powershell
    RestartService (recursively)
    Copy Files
    Stopping and Starting Dependent Services
    多线程同步控制 ManualResetEvent AutoResetEvent MSDN
    DTD 简介
    Using Powershell to Copy Files to Remote Computers
    Starting and Stopping Services (IIS 6.0)
    java中的NAN和INFINITY
  • 原文地址:https://www.cnblogs.com/mafu/p/12924443.html
Copyright © 2011-2022 走看看