首页 > 其他分享 >模拟体育分析

模拟体育分析

时间:2023-12-28 21:46:45浏览次数:39  
标签:分析 return scoreA scoreB 体育 probB probA 模拟 比赛

 

from random import random
def printInfo():
'''
function: 打印程序的介绍信息
'''
print("通过输入2个队伍A和B的能力值(0到1之间的小数表示),能够模拟多次2个队伍A和B的排球竞技比赛,从而得出各自的胜率!")
print("信计1班 罗天智 15")
def getInputs():
'''
function: 获得用户输入的参数
'''
probA = eval(input("请输入队伍A的能力值(0~1):"))
probB = eval(input("请输入队伍B的能力值(0~1):"))
n = eval(input("请输入需要模拟比赛的场次数:"))
return probA, probB, n

def simNGames(n, probA, probB):
'''
function: 模拟n场比赛
n: 模拟n场比赛
probA, probB: 分别为队伍A和B的能力值
winA, winB: 队伍A和B在一场比赛中获胜的局数
winsA, winsB: 队伍A和B赢得比赛的场数,总共n场
'''
winsA, winsB = 0, 0
for _ in range(n):
winA, winB = simOneGame(probA, probB)
if winA > winB:
winsA += 1
else:
winsB += 1
return winsA, winsB

def simOneGame(probA, probB):
'''
function: 模拟一场比赛,包括五局,采取五局三胜制
probA, probB: 分别为队伍A和B的能力值
return: 返回队伍A和B在本场比赛中获胜的局数
scoreA, scoreB: 分别为队伍A和B一局比赛获得的分数
winA, winB: 分别为队伍A和B一场比赛获胜的局数
'''
n = 1 # 代表本次比赛的局次
winA, winB = 0, 0
for _ in range(5):
scoreA, scoreB = simNGame(n, probA, probB)
if scoreA > scoreB:
winA += 1
else:
winB += 1
n += 1
if winA == 3 or winB == 3:
break
return winA, winB

def simNGame(n, probA, probB):
'''
function: 模拟一局比赛
N: 代表本次比赛的局次
probA, probB: 分别为队伍A和B的能力值
return: 返回队伍A和B在本局比赛中获得的分数
'''
scoreA, scoreB = 0, 0 # 分别为队伍A和B一局比赛获得的分数
serving = 'A' # 发球方
while not GameOver(n, scoreA, scoreB):
if serving == 'A':
if random() > probA:
scoreB += 1
serving = 'B'
else:
scoreA += 1
if serving == 'B':
if random() > probB:
scoreA += 1
serving = 'A'
else:
scoreB += 1
return scoreA, scoreB

def GameOver(n, scoreA, scoreB):
'''
function: 定义一局比赛的结束条件
N: 代表当前局次(第五局为决胜局)
return: 若比赛结束的条件成立返回真,否则为假
'''
if n <= 4:
return (scoreA>=25 and abs(scoreA-scoreB)>=2) or (scoreB>=25 and abs(scoreA-scoreB)>=2)
else:
return (scoreA>=15 and abs(scoreA-scoreB)>=2) or (scoreB>=15 and abs(scoreA-scoreB)>=2)

def printResult(n, winsA, winsB):
'''
function: 输出模拟比赛的结果
'''
print("竞技分析开始,共模拟{}场比赛。".format(n))
print(">>>队伍A获胜{}场比赛,占比{:0.1%}".format(winsA,winsA/n))
print(">>>队伍B获胜{}场比赛,占比{:0.1%}".format(winsB,winsB/n))

def main():
printInfo()
probA,probB,n=getInputs()
winsA,winsB=simNGames(n,probA,probB)
printResult(n,winsA,winsB)
main()



标签:分析,return,scoreA,scoreB,体育,probB,probA,模拟,比赛
From: https://www.cnblogs.com/antea/p/17933639.html

相关文章

  • 【Python高级应用课程设计 】大数据分析——中国时尚购物的动机
    选题背景:时尚购物在中国的消费市场中占据了重要地位,并且受到越来越多消费者的追捧。中国消费者在时尚购物方面的动机是什么,了解其背后的原因和驱动力对于了解中国市场、时尚行业的发展趋势以及消费者行为具有重要意义。本选题旨在探讨中国时尚购物的动机。时尚购物在中国的兴盛......
  • py123——模拟体育竞技分析:乒乓球比赛
    模拟体育竞技分析:一.‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬采用乒乓球比赛规则一局比赛:‪‬......
  • 人体骨骼图像增强【分析+Python代码】
    目录一、设计思路二、实验结果分析三、补充讨论四、Python代码一、设计思路由于对于人体骨骼灰度图的动态范围计较窄,并且噪声比较大,单靠一种滤波或锐化算子无法较好的实现图像的细节增强。故通过设计一种混合的图像增强的方式如下图所示。根据上图可知,首先通过对原图像img做拉......
  • 软件测试:遇到bug怎么分析,这篇文章值得一看
    为什么定位问题如此重要?可以明确一个问题是不是真的“bug”很多时候,我们找到了问题的原因,结果发现这根本不是bug。原因明确,误报就会降低多个系统交互,可以明确指出是哪个系统的缺陷,防止“踢皮球”,提高问题解决的效率增强开发对测试的信任度,沟通更有效,配合的更好,开发修改bug时效......
  • 仪表盘、数据分析新增分享功能及应用服务下新增服务实例菜单
    近期,博睿数据根据一体化智能可观测平台BonreeONE产品本身,以及用户反馈进行持续的更新和优化。以下为BonreeONE产品功能更新报告第03期内容,更多探索,未完待续。本次迭代的更新集中在平台的仪表盘、数据分析新增分享功能,用户可以将仪表盘和报表分享给其他用户,方便团队协作和数据......
  • 【Python数据分析课程设计】大数据分析—TMDB 电影数据集分析
    一、选题背景随着当今社会的发展,电影已经成为人们日常生活中不可或缺的一部分。人们通过观看电影来获得娱乐、放松、获取信息以及探索不同的文化和观点。在数字化时代,大量的电影数据被记录和存储,这为电影数据集的分析提供了丰富的资源。而如今,不同国家和地区的电影制作和发行公司......
  • 【python爬虫课程设计】大数据分析———Apple AppStore Android 应用数据分析
    一、选题背景    随着智能手机的普及,移动应用市场持续繁荣,其中苹果AppStore和谷歌GooglePlay是全球最大的两大应用商店。这两大平台汇聚了数十亿的活跃用户,为开发者提供了展示和分发应用的平台。对于开发者而言,了解应用在AppStore和GooglePlay上的表现和用户行为至关......
  • 【Python数据分析课程设计】大数据分析-台风风速尺度数据分析
    一、选题的背景  台风,这是自然界中最强大的风暴之一。台风对人类社会产生了深远的影响,因此,深入理解它们的特性和行为模式至关重要。本研究的目标是通过对台风的风速和尺度进行大数据分析,来提供防灾减灾的科学依据。台风的风速和尺度是衡量其强度的两个重要指标。风速直接......
  • HTTP-FLV协议 抓包分析详解
    实现实际就是利用了HTTP的分块传输,发送FLV数据,服务器无法知道流长度,所以不会填写Content-Length字段而是携带Transfer-Encoding:chunked字段,这样客户端就会一直接受数据了。分块传输编码规则下面我们来看一下分块传输的编码规则,其实也很简单,同样采用了明文的方式,很类似响应头。每......
  • TSINGSEE青犀智能分析网关V4在智慧小区场景中的应用
    一、方案背景随着物联网、AI、大数据、5G、边缘计算、移动互联网等新兴技术的不断成熟和应用,社区作为汇聚科技社会人、房、车三大物联网时代最核心的要素,其价值将不言而喻。建设智慧小区需要充分发挥信息技术在社区管理中的作用,提高居民生活的便利性和安全性,例如建设和利用视频监......