pygal 是非常不错的 python

可视化包,它可以生成矢量图,从而在不同尺寸的屏幕上都可以获得良好的显示效果。具体安装使用请参考官方文档。今天小狼举个投骰子的栗子,看一下不同点数的概率分布情况。源码请移步小狼

GitHub 下的 roll_dice_pygal文件夹。

最常见的骰子是 6 个面的,点数分别从 1 至 6,

玩法上可以只投一个骰子,同时投两个骰子或者更多,在这里我们分别计算投一个,投两个和投三个的情况。

每次投掷骰子的点数可以用 random 中的 randint 来实现,然后写两个函数方便待会儿复用:roll_dice()

用来模拟每次投掷骰子的点数,frequencies() 用来计算每个点数的频率。

存储投掷结果(不放心的话可以 print 出来检查一下代码),计算每个点数的频率,把频率打印出来:

上面的列表返回的分别是骰子 1 - 6 的频率结果,例如投掷 100 次,点数为 1 的次数共计是 17

次。看上去没什么问题,是时候该 pygal 上场了!

我们导入了 pygal,然后决定用柱状图来显示结果。接下来我们顺便对即将显示的图表做一些优化,让它更易读:

我们得到了python培训:http://www.atguigu.com一个

.svg格式的图,可以用浏览器打开查看,该格式也可以用 Adobe Illustrator打开编辑。

你和朋友玩了 100 次,你朋友赌 6 赢了 20 次,你赌 5 赢了 13

次,乍看下去似乎不是等概率事件?其实是因为投掷的次数太少了!你再和他玩个一万次,一百万次看看:

现在我们同时投掷两个骰子,每次的结果等于两个骰子点数之和,稍稍修改一下计算频率的函数:

现在我们同时投掷三个骰子,每次的结果等于三个骰子点数之和,再稍稍修改一下计算频率的函数:

roll_results = [roll_results_1[i] roll_results_2[i]

roll_results_3[i] for i in range(times)]

总之,相信你赌 10 和 11 在多数情况下都是能够完胜你那个赌 1 和 18 的朋友的。不过,小赌怡情,大赌伤身哦!

python投掷骰子实验实验结论_博饼伤我心我,决定用Python对投骰子(色子)做数据分析...相关推荐

  1. python语言的实验心得体会_国产编程语言木兰被质疑换皮Python:当事人承认夸大、道歉...

    近日有报道称,中科院计算所的计算机体系结构国家重点实验室编译组成功研发了国产编程语言"木兰"(Mulan),主要面向物联网应用,可以成倍地提高应用执行效率,并且全面支持国产龙芯处理 ...

  2. php 摇骰子,php实现的中秋博饼游戏之掷骰子并输出结果功能详解

    本文实例讲述了php实现的中秋博饼游戏之掷骰子并输出结果功能.分享给大家供大家参考,具体如下: 前面讲述了php实现的中秋博饼游戏之绘制骰子图案功能,纯php实现,就要用php来生成图案,第一步就先绘 ...

  3. python中常用的序列化模块_第六章 常用模块(5):python常用模块(序列化模块:pickle,json,shelve,xml)...

    6.3.7 序列化模块 (pickle,json,shelve,xml) 文件写入,数据传输时,我们都是以字符串形式写入的(因为字符串可以encode成bytes). 那其他类型(比如字典,列表等)想 ...

  4. bit是python最快的bitcoin库_新的Bitcoinpython节点比以前的Python库快100倍

    3月27日,Bitcoin Cash(BCH)粉丝认识了用Python编程语言编写的新BCH完整节点. 该项目名为Bitcoinpython,是一个现代化的BCH库,其创建者声称它是速度最快的Pyth ...

  5. python如何赚外快 淘宝_业余时间怎么赚外快?用Python赚钱的5个方法!

    Python作为一门编程语言,一门技术,就一定能够为我们所用,至少赚个外快是绝对没有问题的. 渠道一:淘宝搜python程序 可以到淘宝上搜,Python程序,到相应的店里找客服,就说你想做程序开发, ...

  6. python模拟手机充值场景怎么弄_博客 | 手把手带你实现 室内用户移动预测(附python代码)...

    本文原载于微信公众号:磐创AI(ID:xunixs),欢迎关注磐创AI微信公众号及AI研习社博客专栏. 作者:小韩 介绍 大多数的时间序列数据主要用于交易生成预测.无论是预测产品的需求量还是销售量,航 ...

  7. python class 是否存在某个变量_一文抵十课,考验你的Python变量是否理解透彻了

    变量是编程的基础概念,Python 的变量也看似很简单,但是如果理解不当,生搬硬套,可能会遇到一些麻烦. 下面用 10 个代码示例展示 Python 的 变量 本质. 快来看看你对 Python 的变 ...

  8. c调用python第三方包_cbillington_Python包维护者_第三方库作者_PyPI项目模块Package - Python中文网...

    lyse 最新版本发布日期:Jun 26, 2014 作为labscript套件的一部分,lyse是实验室实验的分析框架. 项目维护者: cbillington |Philip.Starkey |la ...

  9. python案例教程钱毅湘_《高等学校通识教育系列教材Python案例教程/钱毅湘》【价格 目录 书评 正版】_中国图书网...

    目录 第1章Python语言基础 1.1知识要点 1.1.1程序设计概述 1.1.2Python语言概述 1.1.3Python程序的格式框架 1.1.4常量和变量 1.1.5Python数据类型 1 ...

最新文章

  1. mongoose常用方法(查询篇)
  2. HTML5如何重塑O2O用户体验
  3. Cookie与Web Storage的区别
  4. Gibbs sampling [Gibbs采样]
  5. mac 设置默认python为python3
  6. 取消mysql自动备份文件_MySQL自动备份并清理多少天前的备份文件
  7. 通过一个图来简单描述一下 socket 链接建立以及通信的模型
  8. 【图像处理】——Python霍夫变换之直线检测(主要是两个函数HoughlinesHoughlinesP)
  9. org.apache.jasper.JasperException: Unable to compile class for JSP:
  10. matlab 细化函数,MATLAB图像处理工具箱函数(细化篇).doc
  11. struts2_20140720
  12. Java 控制 Windows 系统音量
  13. Dxg——Bat批处理 开发笔记整理分类合集【所有的相关记录,都整理在此】
  14. Symbian系统手机软件
  15. Cesium中获取坐标点地形高程的方法
  16. 第五次:对比分析《大唐仙妖劫》和《梦幻西游》
  17. 江苏计算机学业水平测试多少分过关,江苏学业水平测试的相关问题整理
  18. MySQL函数Locate的使用
  19. 编码的奥秘:图形化革命
  20. linkux笔记 37——46

热门文章

  1. 影响服装ERP系统推广的因素有哪些?
  2. 怎么开启搜狗高速浏览器的手动升级
  3. tomcat配置400/404/500类型的错误页面,修改项目默认路径,修改默认项目
  4. python+tkinter+nuitka 打包单个可执行exe文件(PyInstaller比nuitka更稳定)
  5. 基于junit4的关于个人所得税计算的等价类与边界值_功能安全实践 |软件测试方法论之分类树 CTM中等价类方法实践...
  6. 三十而立的他开始创业,打造旗舰网店,达到月销30万的传奇
  7. vue-cli2.9.6及其他版本升级至vue-cli4.x最新版
  8. Vue项目保存代码之后页面自动更新
  9. 深信服应用交付报表任意文件读取漏洞
  10. Reflector 7 破解激活及使用(图解)