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

模拟体育竞技分析

时间:2023-12-26 23:56:02浏览次数:28  
标签:分析 winsB winsA scoreA scoreB probB probA 体育竞技 模拟

模拟体育竞技分析
‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬a.采用乒乓球比赛规则(学号尾号为0,1,2,3同学必做及格题)。‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬
‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪(即:一局比赛:‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬在一局比赛中,先得11分的一方为胜方;10平后,先多得2分的一方为胜方。‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬
‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬一场比赛:‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬单打的淘汰赛采用七局四胜制,双打淘汰赛和团体赛采用五局三胜制。)
博客基本要求:‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬
参‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬考书上223-224。或者https://blog.csdn.net/sxingming/article/details/51235650‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬
h‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬ttps://blog.csdn.net/qq_40855366/article/details/81177203‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬
https://blog.csdn.net/qq_40390825/article/details/82467008‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬
1.打印程序的介绍性信息式(要求包括你们学号后两位信息)
‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬2.输入I(input):两个球员(球队)的能力值,模拟比赛的次数‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬
‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬3.处理P(process):模拟比赛过程‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬
‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬4.输出O(output):两个球员(球队)获胜的概率(输出谁做的结果截图)‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬
‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪5. 运用pyinstaller打包可以执行的文件

单打淘汰赛的代码如下:

 1 ‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬#单打的淘汰赛采用七局四胜制
 2 print("学号后两位为03(2021310143103)")
 3 
 4 from random import random
 5 def printIntro():          #打印程序介绍信息
 6     print("这个程序模拟两个选手A和B的乒乓球竞技比赛")
 7     print("程序运行需要A和B的能力值(以0到1之间的小数表示)")
 8 def getInputs():           #获得程序运行参数
 9     a = eval(input("请输入选手A的能力值(0-1): "))
10     b = eval(input("请输入选手B的能力值(0-1): "))
11     n = eval(input("模拟比赛的场次: "))
12     return a, b, n
13 def simNGames(n, probA, probB):    # 进行N场比赛
14     winsA, winsB = 0, 0
15     for i in range(n):
16         for j in range(7):           #进行7局4胜的比赛
17             scoreA, scoreB = simOneGame(probA, probB)
18             if scoreA > scoreB:
19                 winsA += 1
20             else:
21                 winsB += 1
22     return winsA, winsB
23 def gameOver(a,b):               #正常比赛结束
24     return a==11 or b==11
25 def gameOver2(a,b):              #进行抢12比赛结束
26    if abs((a-b))>=2:
27        return a,b
28 def simOneGame(probA, probB):         #进行一场比赛
29     scoreA, scoreB = 0, 0           #初始化AB的得分
30     serving = "A"                 
31     while not gameOver(scoreA, scoreB):     #用while循环来执行比赛
32         if scoreA==10 and scoreB==10:
33             return(simtwoGame2(probA,probB))
34         if serving == "A":
35             if random() < probA:            ##用随机数生成胜负
36                 scoreA += 1
37             else:
38                 serving="B"
39         else:
40             if random() < probB:
41                 scoreB += 1
42             else:
43                 serving="A"
44     return scoreA, scoreB
45 def simtwoGame2(probA,probB):
46     scoreA,scoreB=10,10
47     serving = "A"
48     while not gameOver2(scoreA, scoreB):
49         if serving == "A":
50             if random() < probA:
51                 scoreA += 1
52             else:
53                 serving="B"
54         else:
55             if random() < probB:
56                 scoreB += 1
57             else:
58                 serving="A"
59     return scoreA, scoreB
60 def printSummary(winsA, winsB):
61     n = winsA + winsB
62     print("竞技分析开始,共模拟{}场比赛".format(n))
63     print("选手A获胜{}场比赛,占比{:0.1%}".format(winsA, winsA/n))
64     print("选手B获胜{}场比赛,占比{:0.1%}".format(winsB, winsB/n))
65 def main():
66     printIntro()
67     probA, probB, n = getInputs()
68     winsA, winsB = simNGames(n, probA, probB)
69     printSummary(winsA, winsB)
70 main()

运行结果:

 

双打淘汰赛和团体赛的代码如下:

 1 #双打淘汰赛和团体赛采用五局三胜制
 2 print("学号后两位为03(2021310143103)")
 3 
 4 from random import random 
 5 def printIntro():          #打印程序介绍信息
 6     print("这个程序模拟两个队伍A和B的乒乓球竞技比赛")
 7     print("程序运行需要队伍A和队伍B的能力值(以0到1之间的小数表示)")
 8 def getInputs():           #获得程序运行参数
 9     a = eval(input("请输入队伍A的能力值(0-1): "))
10     b = eval(input("请输入队伍B的能力值(0-1): "))
11     n = eval(input("模拟比赛的场次: "))
12     return a, b, n
13 def simNGames(n, probA, probB):    # 进行N场比赛
14     winsA, winsB = 0, 0
15     for i in range(n):
16         for j in range(5):           #进行5局3胜的比赛
17             scoreA, scoreB = simOneGame(probA, probB)
18             if scoreA > scoreB:
19                 winsA += 1
20             else:
21                 winsB += 1
22     return winsA, winsB
23 def gameOver(a,b):               #正常比赛结束
24     return a==11 or b==11
25 def gameOver2(a,b):              #进行抢12比赛结束
26     return a==12 or b==12
27 def simOneGame(probA, probB):         #进行一场比赛
28     scoreA, scoreB = 0, 0           #初始化AB的得分
29     serving = "A"                 
30     while not gameOver(scoreA, scoreB):     #用while循环来执行比赛
31         if scoreA==10 and scoreB==10:
32             return(simtwoGame2(probA,probB))
33         if serving == "A":
34             if random() < probA:            ##用随机数生成胜负
35                 scoreA += 1
36             else:
37                 serving="B"
38         else:
39             if random() < probB:
40                 scoreB += 1
41             else:
42                 serving="A"
43     return scoreA, scoreB
44 def simtwoGame2(probA,probB):
45     scoreA,scoreB=10,10
46     serving = "A"                 #假如先让队伍A发球
47     while not gameOver2(scoreA, scoreB):
48         if serving == "A":
49             if random() < probA:
50                 scoreA += 1
51             else:
52                 serving="B"
53         else:
54             if random() < probB:
55                 scoreB += 1
56             else:
57                 serving="A"
58     return scoreA, scoreB
59 def printSummary(winsA, winsB):
60     n = winsA + winsB
61     print("竞技分析开始,共模拟{}场比赛".format(n))
62     print("队伍A获胜{}场比赛,占比{:0.1%}".format(winsA, winsA/n))
63     print("队伍B获胜{}场比赛,占比{:0.1%}".format(winsB, winsB/n))
64 def main():
65     printIntro()
66     probA, probB, n = getInputs()
67     winsA, winsB = simNGames(n, probA, probB)
68     printSummary(winsA, winsB)
69 main()

运行结果:

 

标签:分析,winsB,winsA,scoreA,scoreB,probB,probA,体育竞技,模拟
From: https://www.cnblogs.com/gzygshyq/p/17929619.html

相关文章

  • 02.App启动性能分析
    1.Activity启动流程主要流程:ApplicationOnCreate加载第三方的sdkActivityOnCreate  加载自身的逻辑xxx.json  发送远程数据请求List 渲染界面2.app启动性能指标冷启动:新安装或者刚刚由关闭打开,冷启动不超过5秒暖启动:系统把进程杀掉,但是还放在后台,不超过2秒热......
  • 【Python爬虫课程设计】--二手房数据爬取+数据分析
    一、选题课程背景在当前的房地产市场中,二手房交易一直是一个备受关注的话题。通过对二手房市场的数据进行分析可以帮助我们了解房地产市场的发展趋势、价格变动、供需关系等重要信息。这种数据分析能够为政府制定相关政策、投资者做出决策、购房者选择合适房产等提供有价值的参考......
  • Python网络爬虫课程设计------亚马逊产品数据分析
    一、选题背景    随着电子商务在全球范围内的普及和扩展,亚马逊作为全球最大的电商平台之一,吸引了数百万的卖家和消费者。这使得对亚马逊平台上的产品进行数据分析变得至关重要。在亚马逊上,产品种类繁多,竞争激烈。为了在众多竞争对手中脱颖而出,需要对市场趋势、消费者需求......
  • 高级计算机网络课程结课论文——《5G AKA协议安全性分析综述》
    1.1 探讨可能的解决方案和创新面对5G网络安全性的挑战,不仅需要及时解决当前协议中的安全缺陷,更需要在解决问题的同时推动安全技术的创新。具体而言:(1)技术创新的推动和应用在未来的研究中,可以通过引入量子密钥分发、区块链等新兴技术,进一步提高5G网络的安全性。同时,推动更加智能的入......
  • IPD(集成产品开发)细分市场利器:KBF分析法
    摘要:本文将介绍一种适用于细分市场组合分析的方法:KBF(购买决策因素),帮助企业在庞大的市场中开辟出新天地。在公司初步选定细分市场后,要对这些细分市场进行进一步分析。本文就将介绍一种适用于细分市场组合分析的方法:KBF(购买决策因素),帮助企业在庞大的市场中开辟出新天地。一、什么是KB......
  • IPD(集成产品开发)细分市场利器:KBF分析法
    摘要:本文将介绍一种适用于细分市场组合分析的方法:KBF(购买决策因素),帮助企业在庞大的市场中开辟出新天地。 在公司初步选定细分市场后,要对这些细分市场进行进一步分析。本文就将介绍一种适用于细分市场组合分析的方法:KBF(购买决策因素),帮助企业在庞大的市场中开辟出新天地。一、......
  • 【python爬虫课程设计】大数据分析——共享单车使用量可视化分析
    一、选题的背景共享单车在当今社会中扮演着重要角色,对城市交通、环境、个人出行习惯等方面产生了显著影响。通过分析这些数据,可以了解共享单车对城市生活的影响,对交通拥堵、空气质量改善、促进健康出行提供便利。通过分析共享单车数据,可以了解技术创新在这一领域的应用情况,探索改......
  • for 循环的案例分析
    for循环的案例分析//计算0到100以内基数和偶数的和  publicstaticvoidmain(String[]args){    //计算0到100以内基数和偶数的和    intoddSum=0;    intevenSum=0;    for(inti=0;i<=100;i++){      if(i%2......
  • VISSIM模拟上海松江新城小区道路开放及交通状况改善分析
    分析师:MingmingZhao上海市近年来不断增长的高峰出行车辆数,带来了交通负荷严重等城市问题,本项目主要探究开放封闭式小区能否实现对道路交通状况的改善。对道路交通状况的综合分析基于对道路不同时间段、不同位置交通状况的全面且真实客观的评价,鉴于道路状况受不同类型因素影响的多......
  • R语言大学城咖啡店消费问卷调查报告:信度分析、主成分分析可视化
    本次调查旨在了解文汇路咖啡店的市场状况,以便为学校周边咖啡店的经营发展提供积极的引导意义。我们通过问卷调查的方式,收集了大量的数据,通过r软件对数据进行了基本情况分析、信度分析、问卷调查数据可视化分析以及主成分分析,以全面了解文汇路咖啡店的市场情况。咖啡店调查问卷我们......