羽毛球
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()

浙公网安备 33010602011771号