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

  • 相关阅读:
    seajs快速了解
    lazyload.js详解
    iScroll-js—“smooth scrolling for the web”
    Backbone学习笔记一Backbone中的MVC
    JMH基准测试框架
    idea 下运行安卓项目
    安卓
    C++
    看完
    四叉树的js实现
  • 原文地址:https://www.cnblogs.com/zhangtianyuan/p/8760608.html
Copyright © 2011-2022 走看看