模拟投币试验
时间:2019-06-12
本文章向大家介绍模拟投币试验,主要包括模拟投币试验使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
通过使用Python来模拟投币试验:
import random from tkinter import * class Window: def __init__(self, title='游戏', width=300, height=120, staFunc=bool, stoFunc=bool): self.w = width self.h = height self.stat = True self.staFunc = staFunc self.stoFunc = stoFunc self.staIco = None self.stoIco = None self.root = Tk(className=title) def drawCenter(self): ws = self.root.winfo_screenwidth() # 用户屏幕宽度 hs = self.root.winfo_screenheight() # 用户屏幕高度 x = int((ws / 2) - (self.w / 2)) # 距屏幕左边框的像素点数 y = int((hs / 2) - (self.h / 2)) # 距屏幕上边框的像素点数 self.root.geometry('{}x{}+{}+{}'.format(self.w, self.h, x, y)) def createWidgets(self): Label(self.root, text="实验次数:").grid(row=0, sticky=E) Label(self.root, text="正面出现的次数:").grid(row=1, sticky=E) Label(self.root, text="出现正面频率:").grid(row=2, sticky=E) self.e1 = Entry(self.root) self.hc = StringVar() self.e2 = Entry(self.root, textvariable=self.hc) self.p = StringVar() self.e3 = Entry(self.root, textvariable=self.p) self.e1.grid(row=0, column=1) self.e2.grid(row=1, column=1) self.e3.grid(row=2, column=1) self.btnSer = Button(self.root, command=self.click, width=3, height=1, text='运行') self.btnSer.grid(row=3, column=1, sticky=E) btnQuit = Button(self.root, text='关闭窗口', command=self.root.quit, width=8, height=1) btnQuit.grid(row=3, column=2) def click(self): h = 0 # 正面次数 t = 0 # 反面次数 allcount = 0 count = int(self.e1.get()) for i in range(count): num = random.randint(0, 1) if num == 0: h = h + 1 else: t = t + 1 allcount = allcount + 1 print(allcount) self.hc.set(str(h)) # 正面次数 self.p.set(str(h / count)) # 正面概率 def loop(self): self.root.resizable(False, False) # 禁止修改窗口大小 self.createWidgets() self.drawCenter() # 窗口居中 self.root.mainloop() # 你写的脚本模块既可以导入到别的模块中用,另外该模块自己也可执行 if __name__ == '__main__': w = Window(width=350, height=150) w.loop()
原文地址:https://www.cnblogs.com/lsyb-python/p/11011236.html
- 分享一个Mvc的多层架构,欢迎大家拍砖斧正
- Robot Framework | 03 基于Public API创建你RFS测试
- Robot Framework | 02 从抛弃RIDE开始创建你的RFS测试
- ASP.NET5 Beta8可用性
- Docker Swarm集群初探
- 数据库逻辑设计
- 06.移动先行之谁主沉浮----我的代码我来写(Xaml的优势)
- [快学Python3]迭代器和生成器
- [快学Python3]INI文件读写
- Vijos P1131 最小公倍数和最大公约数问题【暴力】
- Vjios P1736 铺地毯【暴力,思维】
- Vijos P1116 一元三次方程求解【多解,暴力,二分】
- Python Selenium设计模式-POM
- [快学Python3]HTTP处理 - urllib模块
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- “灯下黑”应用在windows隐身后门中的实践
- 渗透测试-信息收集命令总结
- 什么?一个核同时执行两个线程?
- 如何下载网页上的视频?
- c++ int,unsigned int混合表达式类型转换
- MySQL5.7+查看Waiting for table metadata lock 锁情况
- input如何快速进行规则校验
- 史上最详细的sqlServer手工注入详解
- Spring 基于 Java 的配置
- Spring中的Spring JSR-250 注释之@Resource
- python 用opencv接口把视频逐帧转化为图片
- Element el-tree树形控件的数据处理方法
- 基于docker快速搭建hive环境
- flag区分大小写的sql盲注
- Spring中的Spring JSR-250 注释