排球比赛
# 排球比赛赛制规定:前四局采用25分制,每个队只有赢得至少25分,并同时超过对方2分时,才胜一局。
# 正式比赛采用5局3胜制,决胜局的比赛采用15分制,一队先得8分后,两队交换场区,按原位置顺序继续比赛到结束
# 在决胜局(第五局)之比赛,先获15分并领先对方2分为胜
# 比赛分前四局和最后一局(AB队)
# 输入能力值powerA powerB
import random
def starts(start):
global powerA,powerB # 一次对打
scoreA = 0
scoreB = 0
power = random.random()
if start == 'A':
if power < powerA:
scoreA += 1
else:
start = 'B'
scoreB += 1
else:
if power < powerB:
scoreB += 1
else:
start = 'A'
scoreA += 1
return scoreA,scoreB
def startone(starta,chang): # 一场比赛
#start = starta
global winA,winB
over = False
scoreA = 0
scoreB = 0
while over == False:
if ((scoreA < chang and scoreB < chang) or (scoreA >= 25 and abs(scoreA - scoreB) < 2) or (scoreB >= 25 and abs(scoreA - scoreB) < 2)):
a,b = starts(starta)
scoreA += a
scoreB += b
else:
if scoreA > scoreB:
winA += 1
else:
winB += 1
over = True
def Gameover(winA,winB):
i = 0
while i < 4:
if i == 0 or i == 2:
startone('A',25)
else:
startone('B',25)
i += 1
if i == 4:
startone('A',15)
return
powerA = eval(input('请输入选手A的能力值(0-1):'))
powerB = eval(input('请输入选手B的能力值(0-1):'))
winA = 0
winB = 0
Gameover(winA,winB)
print(f'A队赢得{winA}场,B队赢得{winB}场')