首页 / PYTHON / python排球竞技比赛规则模拟
python排球竞技比赛规则模拟
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了python排球竞技比赛规则模拟,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2430字,纯文字阅读大概需要4分钟。
内容图文
![python排球竞技比赛规则模拟](/upload/InfoBanner/zyjiaocheng/635/14e8ac73faeb406db4c0b11717ed30c8.jpg)
1 from random import random 2 3 def printIntro(): # 打印程序介绍信息 4 print('这个程序模拟两个队伍A和B的排球竞技比赛') 5 print('程序运行需要A和B的能力值(以0到1之间的小数表示)') 6 7 def getInputs(): # 获得程序运行参数 8 a = eval(input('请输入队伍A的能力值(0-1):')) 9 b = eval(input('请输入队伍B的能力值(0-1):')) 10 n = eval(input('模拟比赛场次:')) 11 return a, b, n 12 13 def simOneGame(probA, probB): # 进行决赛 14 scoreA, scoreB =0, 0 15 serving = 'A' 16 while not gameOver(scoreA, scoreB): 17 if serving == 'A': 18 if random() > probA: 19 scoreB += 1 20 serving = 'B' 21 else: 22 scoreA += 1 23 else: 24 if random() > probB: 25 scoreA += 1 26 serving = 'A' 27 else: 28 scoreB += 1 29 return scoreA, scoreB 30 31 def simfirstgame(probA, probB): 32 scoreA, scoreB = 0, 0 33 for i in range(4): 34 s1, s2=0, 0 35 while not gameover(s1, s2): 36 if random()<probA: 37 s1+=1 38 elif random()<probB: 39 s2+=1 40 if s1>s2: 41 scoreA+=1 42 else: 43 scoreB+=1 44 return scoreA, scoreB 45 46 def simNGames(n, probA, probB): #进行N场比赛 47 winsA, winsB = 0, 0 # 初始化AB的胜场数 48 for i in range(n): 49 k, l=simfirstgame(probA, probB) 50 if k==1: 51 winsB+=1 52 continue 53 elif k==3: 54 winsA+=1 55 continue 56 scoreA, scoreB = simOneGame(probA, probB) 57 if scoreA > scoreB: 58 winsA += 1 59 else: 60 winsB += 1 61 return winsA, winsB 62 63 def gameOver(c, d): #比赛结束 64 return (c>=15 and c-d>=2) or (d>=15 and d-c>=2) 65 def gameover(scoreA, scoreB): 66 return (scoreA>=25 and scoreA-scoreB>=2) or (scoreB>=25 and scoreB-scoreA>=2) 67 68 69 def printSummary(n ,winA, winB): #打印比赛结果 70 print('竞技分析开始,共模拟{}场比赛'.format(n)) 71 print('队伍A获胜{}场比赛,占比{:.2f}%'.format(winA, winA/n*100)) 72 print('队伍B获胜{}场比赛,占比{:.2f}%'.format(winB, winB / n * 100)) 73 def main(): 74 printIntro() 75 probA, probB, n =getInputs() 76 winsA, winsB = simNGames(n, probA, probB) 77 printSummary(n, winsA, winsB) 78 79 main()
内容总结
以上是互联网集市为您收集整理的python排球竞技比赛规则模拟全部内容,希望文章能够帮你解决python排球竞技比赛规则模拟所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。