还是在上次提到的数据之魅那本书,看到模拟这章,有个python模拟脚本,但书上不全,就自己简单写了下。

流程:在不同的平衡参数p(为0.5时为均匀的)下,模拟60次实验,每次投硬币8次,统计正面朝上的次数,并作图。

import random

import matplotlib.pyplot as plt

repeats, tosses = 60, 8

# p为平衡参数,tosses为每次重复试验中投掷硬币的次数

# 返回当前平衡参数p的情况下,8次实验中正面的次数

def heads(tosses, p):

h = 0

for x in range(0, tosses):

if random.random() < p:

h += 1

return h

x = [] # 存放平衡参数p

y = [] # 存放每个p下,60次重复试验得到的h的值

p = 0 # 初始化p,从0开始

while p < 1.01:

hh = []

for t in range(0, repeats):

h = heads(tosses,p)

# 添加微小抖动值,防止点的重叠

h += (random.random()/4)*random.choice([-1,1])

hh.append(h)

#print(p,'\t',heads(tosses,p))

y.append(hh)

x.append(p)

p += 0.05

# 箭头标注p=0.5,即硬币平衡的点

plt.plot(x,y,'g^')

plt.annotate('balence', xy=(0.5, 5), xytext=(0.15, 8),

arrowprops=dict(facecolor='black', shrink=0.05),

)

plt.show()

'''

# 一次有意思的尝试...

# 开始没做出理想的图,以为一个x,对应多个y没法画(其实就是忘记点的抖动)...

# 这里循环plot也是可以实现的.

for i in range(60):

q = []

for n in range(len(y)):

yn = y[n][i]

q.append(yn)

plt.plot(x,q,'ro')

'''

输出图形如下:

可以看到,在p=0.5,即硬币均匀的情况下,投掷后,硬币正面出现次数大部分在4的附近。

python模拟抛硬币_python实现简单随机模拟——抛呀抛硬币相关推荐

  1. python淘宝cookies抢购_python实现简单爬虫模拟登录淘宝(cookie简介)

    试验了一个晚上,python的小爬虫还是挺可爱的,简单几行就可以抓取网页了.如果你和我一样是新手,你可以先去http://blog.csdn.net/column/details/why-bug.ht ...

  2. python模拟购物模块_python实现简单购物商城

    本文为大家分享了购物商城小程序,供大家参考,具体内容如下 软件版本:python3.x 功能:实现简单购物商城 1.允许用户选择购买多少件 2.允许多用户登录,下一次登录后,继续按上次的余额继续购买 ...

  3. python数据可视化代码_Python实现简单的数据可视化

    现在python这门解释型语言被越来越多的人们喜欢,强大的库支持,使得编程过程变得简单. 我是一个传统的C语言支持者,往后也打算慢慢的了解Python的强大. 今天我就学习一下使用python实现数据 ...

  4. python坦克大战游戏_python实现简单坦克大战

    基于对面向对象编程的思想完成简单的坦克大战游戏.主要目的锻炼面相对象编程思想 同样的在使用python进行游戏编写时需要安装pygame模块 安装方法: pycharm安装方式:File --> ...

  5. python简易发红包_python+redis简单实现发红包程序

    redis是什么? Redis 是一个高性能的key-value数据库! 想进一步了解请移步搜索引擎自行查找. 编写这个小程序的目的就是对redis进行一个简单的小操作,对redis有一个初步的了解, ...

  6. python树的实现_Python实现简单字典树的方法

    本文实例讲述了Python实现简单字典树的方法.分享给大家供大家参考,具体如下: #coding=utf8 """代码实现了最简单的字典树,只支持由小写字母组成的字符串. ...

  7. python搭建web服务器_Python搭建简单的web服务器

    Python搭建简单的web服务器 1.win+R输入cmd打开命令行 2.通过 cd 进入到你保存 HTML 文件的目录.例如:H:\D3\d3 输入 cd\ 指令进入到C盘的根目录.(CD(更改目 ...

  8. python银行系统模拟演练_python多线程实现代码(模拟银行服务操作流程)

    1.模拟银行服务完成程序代码 目前,在以银行营业大厅为代表的窗口行业中大量使用排队(叫号)系统,该系统完全模拟了人群排队全过程,通过取票进队.排队等待.叫号服务等功能,代替了人们站队的辛苦. 排队叫号 ...

  9. python编写爬虫代码_python编写简单爬虫资料汇总

    爬虫真是一件有意思的事儿啊,之前写过爬虫,用的是urllib2.BeautifulSoup实现简单爬虫,scrapy也有实现过.最近想更好的学习爬虫,那么就尽可能的做记录吧.这篇博客就我今天的一个学习 ...

最新文章

  1. windows socket编程入门示例3
  2. 利用ashx和ajax实现表格的异步填充
  3. 制造业与计算机有关的岗位,天津人力资源:零批餐饮挺缺人 银行地产岗位少...
  4. 如何用 SpringBoot 实现并发登录人数控制(附代码)
  5. 快手公司厕所装计时器,网友:再也不能带薪拉屎了!
  6. 鸿蒙系统公测版发布,鸿蒙OS2.0系统公测版什么时候发布-适配机型
  7. 876. 链表的中间结点
  8. MPLS/×××网络解决MTU问题方法
  9. AspectJ——预编译方式实现AOP
  10. ibm服务器aix系统查看cpu,IBM AIX系统硬件信息查看命令(shell脚本)
  11. C语言经典问题(收藏)
  12. python显示实时时间校对_Python实现系统时间自动校正
  13. 软件工程实训有必要吗_软件工程实训总结
  14. 树莓派使用pigpio 控制舵机
  15. 人工智能架构图和产业链构成
  16. python修改快捷键_Pycharm快捷键设置 更换或者增添快捷键 设置字体放大缩小快捷键...
  17. 【转】AI芯片:寒武纪NPU设计分析(DianNao)
  18. 出版图书二维码,要如何制作呢?
  19. VLAN应用篇系列:(7)华为 H3C交换机VLAN聚合功能(实现不同VLAN,同一网段,二层隔离,三层互通)
  20. 关于爬取企业信息类的爬虫(一)

热门文章

  1. 如何绘制逻辑图 — 5. 要素的属性:系统与模块
  2. 需求与业务的区别、需求设计与业务设计的区别
  3. 【2017年第1期】ISO 8000(大)数据质量标准及应用
  4. 【2016年第3期】以大数据为核心 驱动智慧城市变革
  5. 【数据结构与算法】实验 编写双链表的结点查找和删除算法
  6. 【计算机网络】传输媒体与物理层概念辨析
  7. 统计范围内不含‘7‘的数字个数(洛谷P1590题题解,Java语言描述)
  8. 管理软件实施(1)——什么是管理软件
  9. 基于DotNet构件技术的企业级敏捷软件开发平台 - AgileEAS.NET - ActiveXForm运行容器...
  10. 调查显示:被黑过的公司难以找到投资