羽毛球

def simulate_badminton_match():
"""模拟羽毛球比赛,三局两胜制"""
player_a_wins = 0
player_b_wins = 0
current_server = 'A' # 第一局默认A先发球

# 三局两胜
while player_a_wins < 2 and player_b_wins < 2:
    print(f"\n=== 第{player_a_wins + player_b_wins + 1}局开始 ===")
    print(f"当前发球方: 选手{current_server}")
    
    # 初始化本局分数
    score_a = 0
    score_b = 0
    
    # 模拟本局比赛
    while True:
        # 输入得分方
        while True:
            winner = input("请输入得分选手 (A/B),或输入Q退出: ").upper()
            if winner in ['A', 'B', 'Q']:
                break
            print("输入无效,请重新输入!")
        
        if winner == 'Q':
            print("比赛已取消")
            return
        
        # 更新分数
        if winner == 'A':
            score_a += 1
        else:
            score_b += 1
        
        # 打印当前比分
        print(f"当前比分: 选手A {score_a} - {score_b} 选手B")
        
        # 判断是否结束本局
        if (score_a >= 21 or score_b >= 21) and abs(score_a - score_b) >= 2:
            break
        elif score_a >= 30 or score_b >= 30:
            break
    
    # 确定本局胜者
    if score_a > score_b:
        print(f"第{player_a_wins + player_b_wins + 1}局结束: 选手A胜")
        player_a_wins += 1
        current_server = 'A'  # 胜方下局先发球
    else:
        print(f"第{player_a_wins + player_b_wins + 1}局结束: 选手B胜")
        player_b_wins += 1
        current_server = 'B'  # 胜方下局先发球
    
    # 打印当前赛果
    print(f"当前赛果: 选手A {player_a_wins} - {player_b_wins} 选手B")

# 确定最终胜者
if player_a_wins > player_b_wins:
    print("\n=== 比赛结束 ===")
    print("最终胜者: 选手A")
else:
    print("\n=== 比赛结束 ===")
    print("最终胜者: 选手B")

启动比赛模拟

simulate_badminton_match()

posted @ 2025-06-21 18:34  Neflibata。  阅读(29)  评论(0)    收藏  举报