排球模拟
import random,math
a = eval(input('输入a的能力值(0-1范围):'))
b = eval(input('输入b的能力值(0-1范围):'))
times = int(input('输入模拟次数:'))
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
print('a赢了{}场比赛,胜率为:{:.2f}%\nb赢了{}场比赛,胜率为:{:.2f}%'.format(a_final , (a_final/times)*100 , b_final , (b_final/times)*100))

浙公网安备 33010602011771号