排球比赛

# 排球比赛赛制规定:前四局采用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}场')
posted @ 2021-11-13 23:52  kioskl  阅读(434)  评论(0)    收藏  举报