写一个 Python 程序,模拟简单的剪刀石头布游戏。 用户可以输入自己的选择(剪刀、石头或布),然后计算机将随机选择。程序应该具有捕捉异常的功能并打印出游戏结果。
时间: 2024-09-12 08:07:41 浏览: 27
下面是一个简单的剪刀石头布游戏的Python程序代码示例:
```python
import random
# 游戏选项
choices = ["剪刀", "石头", "布"]
# 游戏规则:key 胜过 value
rules = {
"剪刀": "布",
"布": "石头",
"石头": "剪刀"
}
def get_computer_choice():
return random.choice(choices)
def get_user_choice():
try:
user_input = input("请输入你的选择(剪刀、石头、布):")
if user_input not in choices:
raise ValueError("输入错误,请输入剪刀、石头或布")
return user_input
except ValueError as e:
print(e)
return None
def determine_winner(user_choice, computer_choice):
if user_choice == computer_choice:
return "平局"
elif rules[user_choice] == computer_choice:
return "你赢了"
else:
return "你输了"
# 游戏主循环
while True:
user_choice = get_user_choice()
if user_choice is None:
continue
computer_choice = get_computer_choice()
print(f"计算机的选择是:{computer_choice}")
result = determine_winner(user_choice, computer_choice)
print(result)
# 检查用户是否想再玩一次
if input("是否再玩一次?(y/n):").lower() != 'y':
break
# 游戏结束
print("游戏结束,感谢参与!")
```
这个程序首先导入了`random`模块,用于生成计算机的随机选择。定义了游戏的选项和规则,然后通过函数`get_computer_choice`和`get_user_choice`分别获取计算机和用户的选择。在`get_user_choice`函数中,通过异常处理来确保用户输入正确的选项。`determine_winner`函数用于判断游戏结果,最后程序通过一个循环实现多次游戏,并在用户选择退出时结束程序。