zoukankan      html  css  js  c++  java
  • Python绘制直方图 Pygal模拟掷骰子

    #coding=utf-8
    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)

    模拟同时掷两个6面骰子1000次的结果:

    #coding=utf-8
    import pygal
    from die import Die
    
    # 创建两个6面骰子
    die_1 = Die()
    die_2 = Die()
    
    # 掷骰子多次,并将结果存入列表
    results = []
    for roll_num in range(1000):
        result = die_1.roll() + die_2.roll()
        results.append(result)
    
    # 分析结果
    frequencies = []
    max_result = die_1.num_sides + die_2.num_sides
    for value in range(2, max_result+1):
        frequency = results.count(value)
        frequencies.append(frequency)
    
    # 可视化
    hist = pygal.Bar()
    
    hist.title = "Results of two 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 of Result"
    
    hist.add('D6 + D6', frequencies)
    hist.render_to_file('dice_visual.svg')

  • 相关阅读:
    1.8 Hello World添加menu
    1.7 HelloWorld 添加视图
    1.6 Hello World
    1.5 组件开发基础
    awk
    sed
    grep / egrep
    Shell基础知识
    和管道符有关的命令
    Shell变量
  • 原文地址:https://www.cnblogs.com/zhangtianyuan/p/8760608.html
Copyright © 2011-2022 走看看