from random import random def printTips(): 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 ModelNGames(n, powerA, powerB): winsA, winsB = 0, 0 for i in range(n): scoreA, scoreB = ModelOneGame(powerA, powerB) if scoreA > scoreB: winsA += 1 else: winsB += 1 return winsA, winsB def gameOver(a,b): return a==15 or b==15 def ModelOneGame(powerA, powerB): scoreA, scoreB = 0, 0 serving = "A" while not gameOver(scoreA, scoreB): if serving == "A": if random() < powerA: scoreA += 1 else: serving="B" else: if random() < powerB: scoreB += 1 else: serving="A" return scoreA, scoreB def printResult(winsA, wi
原文:https://www.cnblogs.com/ikome/p/12751402.html