编写Python代码 1.编写“人机猜拳”游戏,当输入错误时,出现提示并继续游戏。 2.用户选择出拳整数,计算机也随机出拳,然后对出拳结果进行判断;统计双方赢的次数,谁先赢得3次,即取得胜利。
时间: 2024-10-27 21:02:33 浏览: 23
好的,以下是一个简单的Python代码示例,用于编写“人机猜拳”游戏:
```python
import random
def get_user_choice():
while True:
try:
user_choice = int(input("请输入你的选择(1:石头,2:剪刀,3:布): "))
if user_choice in range(1, 4):
return user_choice
else:
print("输入错误,请重新输入!")
except ValueError:
print("输入错误,请输入数字!")
def get_computer_choice():
return random.randint(1, 3)
def determine_winner(user_choice, computer_choice):
if user_choice == computer_choice:
return "平局"
elif (user_choice == 1 and computer_choice == 2) or \
(user_choice == 2 and computer_choice == 3) or \
(user_choice == 3 and computer_choice == 1):
return "你赢了!"
else:
return "计算机赢了!"
def play_game():
print("欢迎来到人机猜拳游戏!")
while True:
user_choice = get_user_choice()
computer_choice = get_computer_choice()
print("你选择了" + str(user_choice) + ",计算机选择了" + str(computer_choice))
winner = determine_winner(user_choice, computer_choice)
if winner == "你赢了!":
print("恭喜你赢了!")
if wins == 3: # 统计双方赢的次数,谁先赢得3次,即取得胜利。
print("你已经赢了3次,游戏结束!")
break
elif winner == "计算机赢了!":
print("很遗憾,你输了。")
else: # 平局情况
print("平局。")
if wins < 3: # 如果双方赢的次数都没有达到3次,则继续游戏。
continue
else: # 如果双方都赢得了3次,则退出游戏。
print("你已经赢了3次,游戏结束!")
break
print("谢谢参与游戏!")
wins = 0 # 初始化赢的次数为0
play_game() # 开始游戏循环
```
这个代码首先定义了三个函数:`get_user_choice`用于获取用户的选择,`get_computer_choice`用于随机生成计算机的选择,`determine_winner`用于判断胜负并返回结果。在`play_game`函数中,我们使用一个无限循环来持续进行游戏,直到一方赢得3次或双方都赢得了3次为止。在每次游戏循环中,我们首先获取用户和计算机的选择,然后根据选择结果判断胜负并输出结果。如果用户赢了,我们增加赢的次数并继续游戏;如果计算机赢了或者平局了,我们输出相应的结果并继续游戏;如果双方都赢得了3次,我们就退出游戏循环并输出结束信息。
阅读全文