python模拟足球_python 足球模拟
#比赛规则:#1. 比赛分为两场,每场为45分钟#上半场: 一方挑选进攻的球门,另一方获得开球权#下半场: 互换攻守方向,上半场没获得开球权的一方获得开球权#2. 在进球后开球时,开球方为失球一方#3. 在没有违反任何比赛规则时,进攻球队得分。#4. 比赛结束时得分多的球队获胜,如果两队得分相同或均未得分,比赛为平局。
from random importrandom, randintfrom time importtimedefprintInfo():'''function: 打印程序的介绍信息'''
print("{:*^70}".format("产品简介"))print("足球竞技模拟")print("通过输入2个队伍A和B的能力值(0到1之间的小数表示),能够模拟多次2个队伍A和B的排球竞技比赛,从而得出各自的胜率!")print("06号詹曼青")print("{:*^70}".format("模拟开始"))defgetInputs():'''function: 获得用户输入的参数'''probA= eval(input("请输入队伍A的能力值(0~1):"))
probB= eval(input("请输入队伍B的能力值(0~1):"))
n= eval(input("请输入需要模拟比赛的场次数:"))returnprobA, probB, ndefprintResult(n, via, winsA, winsB):'''function: 输出模拟比赛的结果'''
print("{:*^70}".format("模拟结束"))print("竞技分析开始,共模拟{}场比赛。".format(n))print(">>>队伍A获胜{}场比赛,占比{:0.1%}".format(winsA,winsA/n))print(">>>队伍B获胜{}场比赛,占比{:0.1%}".format(winsB,winsB/n))print(">>>两队平局{}场,占比{:0.1%}".format(via,via/n))defsimNGames(n, probA, probB):'''function: 模拟n场比赛
n: 模拟n场比赛
probA, probB: 分别为队伍A和B的能力值
winsA, winsB: 队伍A和B赢得比赛的场数,总共n场'''via, winsA, winsB=0, 0, 0for _ inrange(n):
scoreA, scoreB=simOneGame(probA, probB)if scoreA ==scoreB:
via+= 1
elif scoreA >scoreB:
winsA+= 1
else:
winsB+= 1
returnvia, winsA, winsBdefsimOneGame(probA, probB):'''function: 模拟一场比赛, 分上半场和下半场
probA, probB: 分别为队伍A和B的能力值
scoreA, scoreB: 分别为队伍A和B一场比赛的分数
return: 返回队伍A和B在本场比赛中获得的分数'''winA, winB=0, 0for N in range(2):
scoreA, scoreB=simAGame(N, probA, probB)
winA+=scoreA
winB+=scoreBreturnwinA, winBdefsimAGame(N, probA, probB):'''function: 模拟半场比赛
probA, probB: 分别为队伍A和B的能力值
scoreA, scoreB: 分别为队伍A和B半场比赛的分数
return: 返回队伍A和B在本半场比赛中获得的分数'''scoreA, scoreB=0, 0if N ==0:
serving= 'A' #发球方
else:
serving= 'B'
for _ inrange(gameOver()):if serving == 'A':if random()
scoreA+= 1serving= 'B'
else:if random()
scoreB+= 1serving= 'A'
returnscoreA, scoreBdefgameOver():'''function: 定义半场比赛的结束条件
通过randint产生一个随机数作为半场比赛的回合数, 若达到半场比赛的回合数则结束比赛
return: 若比赛结束的条件成立返回真,否则为假'''
return randint(3, 10)if __name__ == "__main__":
printInfo()
probA, probB, n=getInputs()
Time=time()
via, winsA, winsB=simNGames(n, probA, probB)print("模拟用时: {:.1f}s".format(time()-Time))
printResult(n, via, winsA, winsB)
python模拟足球_python 足球模拟相关推荐
- python 12306登录_python爬虫--模拟12306登录
模拟12306登录 超级鹰: #!/usr/bin/env python # coding:utf-8 import requests from hashlib import md5 class Ch ...
- python 抢购小米_Python(Tornado)模拟登录小米抢手机
今天看到同事参与小米的抢购,几经数个星期的尝试,终于抢到了一台小米电视--看了一下小米的抢购流程,似乎可以用程序可破.于是想写点东西玩玩(你懂的--),第一步肯定是先得模拟登录小米帐号,当练手吧. 用 ...
- python实现翻_python实现模拟按键,自动翻页看u17漫画
python实现模拟按键,自动翻页看u17漫画 发布于 2015-10-22 08:23:25 | 134 次阅读 | 评论: 0 | 来源: 网友投递 Python编程语言Python 是一种面向对 ...
- python 模拟键盘_python+selenium模拟键盘输入
from selenium.webdriver.common.keys import Keys #键盘导入类 --------------------------------------------- ...
- python socket 游戏_python socket模拟游戏开服
python socket服务端 #!/usr/bin/python #-*- coding: utf-8 -*- import socket import os,sys host='127.0.0. ...
- python 按键精灵_python中用ctypes模拟点击的实例讲解
在小编学习python中的模拟点击之前,我们想要对某一项操作进行自动指令的重复,可以选择大家熟知的按键精灵.那么对比python的模拟点击,小编还是觉得python中使用更加方便.这样说不能让有些小伙 ...
- python排队叫号_python多线程实现代码(模拟银行服务操作流程)
1.模拟银行服务完成程序代码 目前,在以银行营业大厅为代表的窗口行业中大量使用排队(叫号)系统,该系统完全模拟了人群排队全过程,通过取票进队.排队等待.叫号服务等功能,代替了人们站队的辛苦. 排队叫号 ...
- python 浏览器模拟手机_Python爬虫关于移动端模拟
本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理 以下文章来源于腾讯云,作者:测试小兵 坚持梦想 就算所有人都不支持你.这条路会很曲 ...
- python运维之轻松模拟开发FTP软件05
以往众多运维者,大多都是在应用国外已经开发好的软件,如今的国内运维职位已经要求我们具备较强的创新能力,一些日常小工具小软件应该能做到手到拈来,这样我们才能在激烈的竞争中占据有利位置.请看: py ...
最新文章
- 手把手教你研发自己的智能无人机 谢谢您呀!
- Java中异常处理之try和catch代码块的使用
- TCP协议客户端读取文本文件,服务器端输出到文本文件
- 中国世界工厂地位为什么不会动摇
- 华为发布《自动驾驶网络解决方案白皮书》
- Anytime项目开发记录0
- 开发工具之pycharm 快捷键说明
- 高端唯有定制,把 sublime 打造成专属的 IDE
- jQuery简单介绍
- maven+jenkins自动化构件
- php 情书,php趣味编程 - php输出笛卡尔情书的秘密
- 如何考查自己的测试水平?
- JavaScript验证正则表达式大全
- 求给定精度的简单交错序列部分和 (15 分)
- python中形参可以使用中文定义嘛_python中函数的参数分类
- swoole实现Timer定时器、心跳检测及Task进阶实例:mysql连接池
- js调用HttpPrinter(web打印插件)
- 通过简单实例讲解QQ开放平台登录原理
- 完美世界:你病了,要么离职,要么996,要么小黑屋三选一
- w ndows10怎么没体验指数,Win10如何使用WinSAT测试Windows体验指数?
热门文章
- Android 给EditText添加下划线
- matlab中的电子器件,对电力电子器件控制设计进行硬件在环测试
- 计算机网络 UDP协议与TCP协议首部
- 传输层 --- 面向连接的传输TCP
- 外泌体介绍 - MedChemExpress
- 鲑鱼和金枪鱼罐头的全球与中国市场2022-2028年:技术、参与者、趋势、市场规模及占有率研究报告
- rt linux 测试,Ubuntu下测试RT-Linux的性能
- 计算机与管理科学的交叉与融合,计算机信息管理专业与其他专业的交叉融合论文...
- WPS/WORD设置每一页显示50行代码或者是固定数量的行数
- 184、商城业务-检索服务-页面基本数据渲染