首页 > 编程语言 > 详细

Python学习笔记第19天

时间:2020-04-25 00:45:59      阅读:68      评论:0      收藏:0      [点我收藏+]

谏言:穷则独善其身,达则兼济天下

# 绘制直方图
# die.py
import pygal
from random import randint
class Die():
    """表示一个骰子的类"""
    def __init__(self,num_sides=6):
        self.num_sides=num_sides
        
    def roll(self):
        """返回一个位于1和骰子面数之间的随机值"""
        return randint(1,self.num_sides)
    
# die_visual.py
# from die import Die
die=Die()
# 掷几次骰子,并将结果存储在一个列表中
results=[]
for roll_num in range(1000):
    result =die.roll()
    results.append(result)
frequencies=[]
# 分析结果可视化
frequencies=[]
for value in range(1,die.num_sides+1):
    frequency= results.count(value)
    frequencies.append(frequency)

# 对结果进行可视化
hist =pygal.Bar()
hist.title = "投掷骰子每个点出现的次数"
hist.x_labels=[1,2,3,4,5,6]
hist.x_title = "Result"
hist.y_title = "Frequencies of Result"

hist.add(D06,frequencies)
hist.render_to_file(die_visual.svg)

技术分享图片

 

 

import pygal
from random import randint
class Die():
    """表示一个骰子的类"""
    def __init__(self,num_sides=6):
        self.num_sides=num_sides
        
    def roll(self):
        """返回一个位于1和骰子面数之间的随机值"""
        return randint(1,self.num_sides)
    
# die_visual.py
# from die import Die
# 创建两个D6骰子
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 = "投掷两个骰子之和每个点出现的次数"
hist.x_labels=[2,3,4,5,6,7,8,9,10,11,12]
hist.x_title = "Result"
hist.y_title = "Frequencies of Result"

hist.add(D6+D6,frequencies)
hist.render_to_file(die_visual_2.svg)

技术分享图片

 

 

import pygal
from random import randint
class Die():
    """表示一个骰子的类"""
    def __init__(self,num_sides=6):
        self.num_sides=num_sides
        
    def roll(self):
        """返回一个位于1和骰子面数之间的随机值"""
        return randint(1,self.num_sides)
    
# die_visual.py
# from die import Die
# 创建一个D6骰子和一个D10
die_1=Die()
die_2=Die(10)
# 掷几次骰子,并将结果存储在一个列表中
results=[]
for roll_num in range(50000):
    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 = "投掷一个6面骰子和一个10面骰子50000次之和每个点出现的次数"
hist.x_labels=[2,3,4,5,6,7,8,9,10,11,12,13,14,15,16]
hist.x_title = "Result"
hist.y_title = "Frequencies of Result"

hist.add(D6+D10,frequencies)
hist.render_to_file(die_visual_3.svg)

技术分享图片

 

Python学习笔记第19天

原文:https://www.cnblogs.com/python-study-notebook/p/12770812.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!