Python:程序设计方法学、体育竞技分析

一、基础知识

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

二、程序设计方法学

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

import random
def printIntro():
    print("这个程序模拟两个选手A和B的某种竞技比赛")
    print("程序运行需要A和B的能力值(以0到1之间的小数表示)")
def getInputs():
    a = eval(input("请输入选手A的能力值(0-1):"))
    b = eval(input("请输入选手B的能力值(0-1):"))
    n = eval(input("模拟比赛的场次:"))
    return a, b, n
def gameOver(Ascore, Bscore):
    return Ascore == 15 or Bscore == 15
def simOneGame(probA, probB):
    scoreA, scoreB = 0, 0
    serving = "A"
    while not gameOver(scoreA, scoreB):
        if serving == "A":
            if random.random() < probA / (probA + probB):
                scoreA += 1
            else:
                serving = "B"
        else:
            if random.random() < probB / (probA + probB):
                scoreB += 1
            else:
                serving = "A"
    return scoreA, scoreB
def simNGames(n, probA, probB):
    winsA, winsB = 0, 0  # winsA,winsB为各自获胜场次数目
    for i in range(n):   # 总共进行了n场比赛
        scoreA, scoreB = simOneGame(probA, probB)
        if scoreA > scoreB:
            winsA += 1
        else:
            winsB += 1
    return winsA, winsB
def printSummary(winsA, winsB):
    n = winsA + winsB
    print("竞技分析开始,共模拟{}场比赛".format(n))
    print("选手A获胜{}场比赛,占比{:.1%}".format(winsA, winsA/n))
    print("选手B获胜{}场比赛,占比{:.1%}".format(winsB, winsB/n))
def main():
    printIntro()
    probA, probB, n = getInputs()
    winsA, winsB = simNGames(n, probA, probB)
    printSummary(winsA, winsB)
main()


输出:
这个程序模拟两个选手A和B的某种竞技比赛
程序运行需要A和B的能力值(01之间的小数表示)
请输入选手A的能力值(0-1)0.45
请输入选手B的能力值(0-1)0.5
模拟比赛的场次:1000
竞技分析开始,共模拟1000场比赛
选手A获胜362场比赛,占比36.2%
选手B获胜638场比赛,占比63.8%

A和B能力差别只有10%,胜负差别却相差近一倍
相反,如果A和B胜负差别只有10%,可以预期它们的能力差别将会很小很小
在这里插入图片描述
在这里插入图片描述

PS: source, python123

猜你喜欢

转载自blog.csdn.net/weixin_47008635/article/details/114193735