Python模拟“剪刀石头布”五局三胜猜拳游戏:选手和计算机轮流猜拳5次,3次胜利才算赢。编程实现。
时间: 2025-06-26 10:06:45 浏览: 9
### Python 实现五局三胜的剪刀石头布游戏
以下是基于 Python 的五局三胜剪刀石头布游戏的具体实现方法。该游戏允许玩家与计算机进行交互,并通过随机数生成器模拟计算机的选择。
#### 游戏规则说明
游戏中,双方分别选择“石头”、“剪刀”或“布”。胜负判断依据如下:
- 石头赢剪刀;
- 剪刀赢布;
- 布赢石头;
平局则不计入任何一方得分[^1]。
#### 完整代码实现
以下是一个完整的程序示例:
```python
import random
def get_computer_choice():
choices = ["石头", "剪刀", "布"]
return random.choice(choices)
def determine_winner(player, computer):
if player == computer:
return "平局"
elif (player == "石头" and computer == "剪刀") or \
(player == "剪刀" and computer == "布") or \
(player == "布" and computer == "石头"):
return "玩家获胜"
else:
return "电脑获胜"
def play_game():
options = {"石头": 0, "剪刀": 1, "布": 2}
reverse_options = {v: k for k, v in options.items()}
player_score = 0
computer_score = 0
while player_score < 3 and computer_score < 3:
print("\n当前比分 - 玩家:", player_score, "电脑:", computer_score)
try:
player_input = int(input("请选择:0(石头), 1(剪刀), 2(布): "))
if player_input not in options.values():
raise ValueError()
player_choice = reverse_options[player_input]
computer_choice = get_computer_choice()
print(f"\n你选择了: {player_choice}")
print(f"电脑选择了: {computer_choice}")
result = determine_winner(player_choice, computer_choice)
if result == "玩家获胜":
player_score += 1
print("本轮胜利!")
elif result == "电脑获胜":
computer_score += 1
print("本轮失败...")
else:
print("本回合为平局!")
except ValueError:
print("输入错误,请重新输入有效选项.")
print("\n最终比分:")
print(f"玩家: {player_score}, 电脑: {computer_score}")
if player_score > computer_score:
print("恭喜您赢得了比赛!")
else:
print("很遗憾,电脑赢得了比赛...")
if __name__ == "__main__":
print("欢迎来到五局三胜的剪刀石头布游戏!")
play_game()
```
#### 功能解析
上述代码实现了以下几个功能模块:
1. **获取计算机选择**:`get_computer_choice()` 函数利用 `random.choice` 方法从预定义列表中随机选取一项作为计算机的选择。
2. **胜负判定逻辑**:`determine_winner()` 函数根据玩家和计算机的选择返回相应的结果(玩家获胜、电脑获胜或平局)。此部分遵循标准的游戏规则。
3. **主循环控制**:在 `play_game()` 中设置了一个循环结构来管理每轮的比赛过程以及分数统计。当任意一方达到三分时结束游戏并显示总分。
#### 输出样例
假设运行过程中用户依次输入了有效的手势代号,则可能得到如下输出:
```
欢迎来到五局三胜的剪刀石头布游戏!
当前比分 - 玩家: 0 电脑: 0
请选择:0(石头), 1(剪刀), 2(布): 0
你选择了: 石头
电脑选择了: 剪刀
本轮胜利!
...
最终比分:
玩家: 3, 电脑: 2
恭喜您赢得了比赛!
```
阅读全文
相关推荐


















