【Python-3.5】Pygal模拟骰子点数,分析结果可视化
使用Pygal模拟同时投掷两个骰子的点数和,本例中使用普通6面的骰子。
本例中涉及两个模块,die.py和dice_visual.py。其中die模块中定义roll方法,用于随机产生骰子的点数。运行dice_visual.py会在同目录下产生一个svg文件,在浏览器中打开就可看到条形图的分析结果。
代码如下:
die.py
from random import randintclass Die():"""表示一个骰子的类"""def __init__(self,num_sides=6):# 骰子默认为6面self.num_sides = num_sidesdef roll(self):"""返回1和骰子面数之间的一个随机数"""return randint(1,self.num_sides)
dice_visual.py
import pygalfrom 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_values = die_1.num_sides + die_2.num_sides
for value in range(2,max_values+1):frequency = results.count(value)frequencies.append(frequency)#对结果进行可视化
hist = pygal.Bar()hist.title = ("Results of rolling two D6 dice 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)# 输出svg格式的文件
hist.render_to_file('die_visual.svg')
条形图效果如下:
【Python-3.5】Pygal模拟骰子点数,分析结果可视化相关推荐
- Python 数据采集、清洗、整理、分析以及可视化实战
一.数据分析思路 大概可以分为下面这几个步骤: 数据采集: 原始数据完整性检查: 数据清洗.整理: 从不同角度对数据进行分析: 数据可视化: 总结: 主要使用 Python 来进行分析: 数据采集: ...
- python乒乓球比赛规则_python模拟体育竞技分析--采用乒乓球规则
采用乒乓球比赛规则 ...
- Python:利用模拟方法计算骰子点数出现的概率
运用模拟方法模拟投掷两个骰子(分别用随机变量x和y表示)10000次,计算出下列情况出现的概率: (1)两个骰子点数和为"小"(小于7): (2)两个骰子点数和为"大 ...
- 使用python模拟骰子,并对骰子进行有限次数投掷
首先,使用python编写一个类似骰子的类,将其作为投掷的骰子. 创建一个python文件,对文件引入random模块中randint类,random.randint(a,b),用于生成一个指定范围( ...
- 小象学院—小象学院—Python学习联盟08—模拟掷骰子
案例描述: 通过计算机程序模拟掷骰子,并显示各点数出现次数及频率 比如,抛掷两个骰子50次,出现点数为7的次数是8,频率0.16 必备知识点: 如何通过python模拟随机事件?或者生成随机数? ra ...
- 投掷骰子的python代码_模拟骰子(Python),掷骰子
模拟掷骰子实际是抽取(1~6之间的)随机数问题,涉及random模块,后面版本的数据可视化主要应用matplotlib.pyplot模块. 1.0:模拟一个骰子的结果.首先定义roll_dice()函 ...
- python基础--循环--模拟骰子
IDE选择 python测试只需要用python shell就可以了,但是写程序还是需要一个IDE的,喜欢全面一点的可以选择pycharm,不过这个要付费,不过在天朝,你懂得,呵呵.喜欢轻便一点的可以 ...
- python骰子游戏分析_python 用python写一个骰子游戏
import random class Game: def __init__(self,player1,player2): self.player1=player1 self.player2=play ...
- python骰子点数识别_Python n个骰子的点数
用两个数组来存储骰子点数的每一个总数出现次数.在一次循环中,第一个数组中的第n个数字表示骰子和为n出现的次数.在下一次循环中加入一个新的骰子,此时和为n的骰子出现的次数应该等于上一次循环中骰子点数和为 ...
最新文章
- 快速让你明白Objective-C的语法(和Java、C++对比)
- navicate破解失败后删除注册表
- 802.11 MAC层帧解析
- Linux下WRF Domain Wizard使用教程(PART2: 使用教程及 遇到的种种BUG)
- 20160331数据文件offline与open resetlogs2
- 【Wordpress】分享500多款国外WordPress经典主题 其之三
- Sqlite3中replace语句用法详解
- 一天一点linux(15):Ubuntu14.04 如何安装字体?
- SQL Server 数据库文件和文件组
- 免费课程:Java高级教程-项目部分视频——私塾在线提供
- vue中实现window.print()打印功能遇到的几个坑
- java基础开发试题_Java应用开发基础-中国大学mooc-试题题目及答案
- 浅谈三极管、运放、MOS管驱动 的常见电路
- Centos7命令行方式安装DM
- PS一次性导出多倍图@1x、@2x、@3x
- 部分MacBook Pro突然无法充电,电量为什么显示为1%
- 《Biology,8th》Neil Campbell (1)
- React-Native搭建Android平台(ZUCC智能终端与移动应用开发lab1)
- 测试实战-京东网站 + 禅道(七)
- 《Kafka权威指南》记录