体育经济实例中,比赛场数我写了1000场,但程序只显示模拟一场

问题遇到的现象和发生背景 :

体育经济实例中,比赛场数我写了1000场,程序只显示模拟一场。
问题:如果现在要编写一个关于“体育竞技分析”的程序:要求用计算机模拟不同能力的运动员,体育竞技时的胜负概率,从而做出分析。这个问题如何求解呢?

用代码块功能插入代码,请勿粘贴截图
D:\python\Scripts\python.exe D:\python\py.works\mz\part8\gamePE.py 
这个程序模拟两个选手A和B的某种竞技比赛
这个程序需要A和B的能力值(以01之间的小数表示)
请输入选手A的能力值(0-1):0.45
请输入选手B的能力值(0-1):0.50
请输入模拟比赛的场次:900
竞技分析开始,共模拟1场比赛
选手A获胜1场比赛,占比100.0%
选手B获胜0场比赛,占比0.0%
None


`
```python  #运行代码

from random 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 printsummary(winsA , winsB):
    n = winsA +winsB
    print('竞技分析开始,共模拟{}场比赛'.format(n))
    print('选手A获胜{}场比赛,占比{:0.1%}'.format(winsA, winsA/n))
    print('选手B获胜{}场比赛,占比{:0.1%}'.format(winsB, winsB/n))

def gameover(a, b):
    return a==15 or b ==15

def simonegame(proA,proB):
    scoreA, scoreB = 0, 0
    serving = 'A'    #设定初始值为由A发球
    while not gameover(scoreA, scoreB):
        if serving == 'A':
            if random() < proA:
                scoreA += 1
            else:
                serving = 'B'
        else:
            if random() < proB:
                scoreB += 1
            else:
                serving = 'A'
    return scoreA, scoreB

def simngames(n,proA,proB):
    winsA, winsB=0, 0
    for i in range(n):
        scoreA, scoreB = simonegame(proA, proB)
        if scoreA > scoreB:
            winsA += 1
        else:
            winsB += 1
        return winsA, winsB

def main():
    printintro()
    probA, probB, n = getinputs()
    winsA, winsB = simngames(n, probA, probB)
    printsummary(winsA , winsB)

print(main())