import random
def printIntro():
print("这个程序模拟两个选手A和B的某种竞技比赛")
print("程序运行需要A和B的能力值(从0到1之间的小数)")
def getIntputs():
a = eval(input("请输入选手A的能力值(0-1):"))
b = eval(input("请输入选手B的能力值(0-1):"))
n = eval(input("模拟的场次:"))
return a,b,n
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 simNGames(n,probA,probB):
winsA,winsB = 0,0
for i in range(n):
scoreA,scoreB = simOneGame(probA,probB)
if scoreA > scoreB:
winsA += 1
else:
winsB += 1
return winsA,winsB
def simOneGame(probA,probB):
scoreA,scoreB = 0,0
serving = 'A'
while not gameover(scoreA,scoreB):
if serving == 'A':
if random.random() < probA:
scoreA +=1
else:
serving = 'B'
else:
if random.random() < probB:
scoreB += 1
else:
serving = 'A'
return scoreA,scoreB
def gameover(scoreA,scoreB):
if scoreA == 15:
return
else:
scoreB == 15
return
def main():
printIntro()
probA,probB,n = getIntputs()
winsA,winsB = simNGames(n,probA,probB)
printSummary(winsA,winsB)
main()
这个哪错了,,大佬men