竞赛模拟 尾号06 排球

import random,math
def putInfo():
    a = eval(input('输入a的能力值(0-1范围):'))
    b = eval(input('输入b的能力值(0-1范围):'))
    times = int(input('输入模拟次数:'))
    return a , b , times

def game(a , b , times):
    a_final , b_final = 0 , 0 
    for x in range(times):
        a_serving , b_serving = 0 , 0
        for i in range(5):
            a_win , b_win = 0 , 0 
            if i<4:
                while True:
                    tem = random.uniform(0,1)
                    if a > tem:
                        a_win += 1
                    else:
                        b_win += 1
                    if a_win>=25 and ((a_win-b_win)>=2):
                        a_serving += 1
                        break
                    elif b_win>=25 and ((b_win-a_win)>=2):
                        b_serving += 1
                        break
            elif i==4:
                while True:
                    if a > random.random():
                        a_win += 1
                    else:
                        b_win += 1
                    if a_win>=15 and (a_win-b_win>=2):
                        a_serving += 1
                        break
                    elif b_win>=15 and (b_win-a_win>=2):
                        b_serving += 1         
                        break   
        if a_serving>=3:
            a_final += 1
        else:
            b_final += 1
    return a_final , b_final

def main():
    (x , y , z) = putInfo()
    (result_a , result_b) = game(x,y,z)
    print('a赢了{}场比赛,胜率为:{:.2f}%\nb赢了{}场比赛,胜率为:{:.2f}%'.format(result_a , (result_a/z)*100 , result_b , (result_b/z)*100))

main()
                


 
 

 

posted on 2020-04-21 13:17  Hrunjie  阅读(101)  评论(0)    收藏  举报

导航