Python学习打卡
安装python shell
运行python
# 导入python资源包
from random import random# 用户体验模块
def printIntro():#输出文本即本程序的作用print("这个程序模拟两个选手A和B的某种竞技比赛")#打印print("程序运行需要A和B的能力值(以0到1之间的小数表示)")#打印# 获得A和B的能力值与场次模块
def getIntputs():#获得A,B的能力值a = eval(input("请输入A的能力值(0-1):"))#获得A的能力值b = eval(input("请输入B的能力值(0-1):"))#获得B的能力值n = eval(input("模拟比赛的场次:"))#获得比赛场次数return a, b, n# 模拟n局比赛模块
def simNGames(n, probA, probB):winsA, winsB = 0, 0#初始化A,B的获胜次数for i in range(n):#根据比赛的场次数进行scoreA, scoreB = simOneGame(probA, probB)#保存A,B的分数if scoreA > scoreB:#比较A、B的分数winsA += 1 #A的获胜次数加一else:winsB += 1#B的获胜次数加一return winsA, winsB #返回A、B的获胜次数,这个好像有点多余# 判断比赛结束条件
def gameOver(a, b):#比赛是否结束return a == 15 or b == 15#任意一队获得15分判定为胜利# 模拟n次单局比赛=模拟n局比赛
def simOneGame(probA, probB):#模拟比赛scoreA, scoreB = 0, 0#初始化A,B队获得的分数serving = "A"#A队获得主动权while not gameOver(scoreA, scoreB):#A队与B队比赛未结束就循环if serving == "A":#A队获得主动权if random() < probA:#根据A队能力及随机数判断A队能否得分scoreA += 1else:serving = "B"#B队伍获得主动权else:if random() < probB:#根据B队能力及随机数判断A队能否得分scoreB += 1else:serving = "A"#A队获得主动权return scoreA, scoreB# 打印结果模块
def printSummary(winsA, winsB):#打印仿真比赛结果n = winsA + winsB#计算A与B队获胜场数print("竞技分析开始,共模拟{}场比赛".format(n))#打印仿真比赛总场数print("选手A获胜{}场比赛,占比{:0.1%}".format(winsA, winsA / n))#打印仿真比赛A胜率print("选手B获胜{}场比赛,占比{:0.1%}".format(winsB, winsB / n))#打印仿真比赛B胜率def main():printIntro() probA, probB, n = getIntputs() # 获得用户A、B能力值与比赛场次NwinsA, winsB = simNGames(n, probA, probB) # 获得A与B的场次printSummary(winsA, winsB) # 返回A与B的结果main()
编写程序
运行结果
注意区分全局变量与局部变量
Python学习打卡相关推荐
- #Python学习打卡——元组#
Python学习打卡--元组 由于之前已经写了有关字符串和列表的博客了,所以在对python有一定的熟悉度下更新这篇,所以这篇的速度可能会较前两篇快一些,挑重点讲哦 元组 首先,我们已经学过了列表,发 ...
- Python学习打卡【Task3】异常处理
目录 一.学习知识点概要(review) 二.学习内容(record) 三.学习问题与解答(analysis) 四.学习思考与总结(summary) 一.学习知识点概要(review) 1.Pytho ...
- Python学习打卡【Task4】列表,字典和元组
目录 一.学习知识点概要(review) 二.学习内容(record) 三.学习问题与解答(analysis) 四.学习思考与总结(summary) 一.学习知识点概要(review) ...
- Python学习打卡第一周
一.跟着视频的代码用python成功制作了第一款小游戏 编写过程中遇到的问题: 1.标点符号总是忘记要为英文 2.if语句忘记加上":" 3.错误缩进导致程序无法运行 但也正是因为 ...
- 第一天python学习打卡
概念 Python是一种解释型.面向对象的语言.可读性强,且开发团队及其注重简洁.同样的逻辑实现成代码时,越简洁就越不容易出错.同时也更加节省时间. Python是由C语言开发的,但舍去了C语言中指针 ...
- python学习之钉钉打卡
python学习之钉钉打卡 背景 原理 实现 一.准备 二.代码 背景 曾经写过几个python小工具,刷快手.自动答题.刷火车票.爬电影天堂电影-,最近因为钉钉成了我们公司官方软件,所以,你懂得啦, ...
- python 基础二(学习打卡)
python 基础二(学习打卡) python基础知识 python 基础二(学习打卡) 一.None值 二.函数返回多个值 三.局部变量和全局变量 四.异常处理(内含Zigzag代码) 五.列表 六 ...
- python基础一(学习打卡)
python基础一(学习打卡) 文章目录 python基础一(学习打卡) 一.数据类型 二.运算符 三.内置函数 四.变量 五.控制流语句 一.数据类型 **·**整数int:-3,-2,0,2- * ...
- 坚持学习打卡的人,将来会变成什么样?
坚持打卡的人,将来会变成怎么样?让我们拭目以待.我组织了一个打卡活动,希望大家踊跃参加. 有一个励志故事: 在中国的最东边生长着一种竹子,名叫"毛竹".那里的农民到处播种,每天精心 ...
最新文章
- ngx对accept加锁操作
- 20210614 什么是状态?什么是状态空间?
- 新乡学院计算机田亮,2019届毕业论文答辩工作安排
- matlab max与min获取矩阵最大最小值函数
- spring mvc学习(10):eclipse的环境前maven配置
- 【Python-3.3】字典中存储字典
- UVA 10391 STL容器的使用
- Android Studio链接外部手机模拟器问题
- Activities
- mysql的本地id可以随便设置马_Mysql主从复制原理及搭建
- 美通企业日报 | 药明康德上半年收入大增34%;资讯App今日头条第一微鲤进前八...
- Adobe官方清理工具Adobe Creative Cloud Cleaner Tool使用教程
- 当梦想照进现实--Steve Nash
- 如何在网页中加入一条竖线
- 手机开发者选项中的调试模式
- QT——连接USB摄像头
- Android商城开发系列(九)—— 首页频道布局的实现
- SixTool多功能多合一代挂助手系统源码
- 703n的OpenWrt配置二:U盘扩容
- 创建一个教师类(Teacher)属性有 姓名(name) 年龄(age) 性别(sex) 教师编号(tno) 2.提供本类的无参和全参构造方法 3.编写教师上课的办法teach() 编写静态方