竞赛模拟 尾号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()

浙公网安备 33010602011771号