使用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模拟骰子点数,分析结果可视化相关推荐

  1. Python 数据采集、清洗、整理、分析以及可视化实战

    一.数据分析思路 大概可以分为下面这几个步骤: 数据采集: 原始数据完整性检查: 数据清洗.整理: 从不同角度对数据进行分析: 数据可视化: 总结: 主要使用 Python 来进行分析: 数据采集: ...

  2. python乒乓球比赛规则_python模拟体育竞技分析--采用乒乓球规则

    采用乒乓球比赛规则 ‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬ ...

  3. Python:利用模拟方法计算骰子点数出现的概率

      运用模拟方法模拟投掷两个骰子(分别用随机变量x和y表示)10000次,计算出下列情况出现的概率: (1)两个骰子点数和为"小"(小于7): (2)两个骰子点数和为"大 ...

  4. 使用python模拟骰子,并对骰子进行有限次数投掷

    首先,使用python编写一个类似骰子的类,将其作为投掷的骰子. 创建一个python文件,对文件引入random模块中randint类,random.randint(a,b),用于生成一个指定范围( ...

  5. 小象学院—小象学院—Python学习联盟08—模拟掷骰子

    案例描述: 通过计算机程序模拟掷骰子,并显示各点数出现次数及频率 比如,抛掷两个骰子50次,出现点数为7的次数是8,频率0.16 必备知识点: 如何通过python模拟随机事件?或者生成随机数? ra ...

  6. 投掷骰子的python代码_模拟骰子(Python),掷骰子

    模拟掷骰子实际是抽取(1~6之间的)随机数问题,涉及random模块,后面版本的数据可视化主要应用matplotlib.pyplot模块. 1.0:模拟一个骰子的结果.首先定义roll_dice()函 ...

  7. python基础--循环--模拟骰子

    IDE选择 python测试只需要用python shell就可以了,但是写程序还是需要一个IDE的,喜欢全面一点的可以选择pycharm,不过这个要付费,不过在天朝,你懂得,呵呵.喜欢轻便一点的可以 ...

  8. python骰子游戏分析_python 用python写一个骰子游戏

    import random class Game: def __init__(self,player1,player2): self.player1=player1 self.player2=play ...

  9. python骰子点数识别_Python n个骰子的点数

    用两个数组来存储骰子点数的每一个总数出现次数.在一次循环中,第一个数组中的第n个数字表示骰子和为n出现的次数.在下一次循环中加入一个新的骰子,此时和为n的骰子出现的次数应该等于上一次循环中骰子点数和为 ...

最新文章

  1. 快速让你明白Objective-C的语法(和Java、C++对比)
  2. navicate破解失败后删除注册表
  3. 802.11 MAC层帧解析
  4. Linux下WRF Domain Wizard使用教程(PART2: 使用教程及 遇到的种种BUG)
  5. 20160331数据文件offline与open resetlogs2
  6. 【Wordpress】分享500多款国外WordPress经典主题 其之三
  7. Sqlite3中replace语句用法详解
  8. 一天一点linux(15):Ubuntu14.04 如何安装字体?
  9. SQL Server 数据库文件和文件组
  10. 免费课程:Java高级教程-项目部分视频——私塾在线提供
  11. vue中实现window.print()打印功能遇到的几个坑
  12. java基础开发试题_Java应用开发基础-中国大学mooc-试题题目及答案
  13. 浅谈三极管、运放、MOS管驱动 的常见电路
  14. Centos7命令行方式安装DM
  15. PS一次性导出多倍图@1x、@2x、@3x
  16. 部分MacBook Pro突然无法充电,电量为什么显示为1%
  17. 《Biology,8th》Neil Campbell (1)
  18. React-Native搭建Android平台(ZUCC智能终端与移动应用开发lab1)
  19. 测试实战-京东网站 + 禅道(七)
  20. 《Kafka权威指南》记录

热门文章

  1. android的CursorLoader用法小结
  2. 简单的HTML5灰度图查看器 simple PACS DICOM HTML5 viewer
  3. glShadeModel
  4. View事件机制分析
  5. spark笔记之Scala中的协变、逆变、非变
  6. Hibernatel框架关联映射
  7. Problem(三):工作中的记录。。。。
  8. Android binder学习一:主要概念
  9. 十、RD 虚拟主机配置(三)
  10. sours insight 使用技巧