P139页,第(23)题 剪刀石头布是一种划拳游戏,规则是剪刀赢布、布赢石头、石头赢剪刀。假设使用3个整数0、1、2来分别代表石头、剪刀、布。每一局中,计算机随机生产3个整数0、1、2中的一个整数,程序判断是计算机赢了还是用户赢了,或者是平局。采取三局两胜的形式来判定最终赢家。请编写程序模拟改划拳游戏的进行过程,并在控制台输出过程和结果。
时间: 2024-03-21 09:44:14 浏览: 21
好的,我知道了。以下是代码实现:
```python
import random
# 定义游戏规则
rules = {0: 2, 1: 0, 2: 1}
# 记录用户和计算机的得分
user_score = 0
computer_score = 0
# 进行游戏
while True:
# 计算机随机生成一个数(0、1、2分别代表石头、剪刀、布)
computer_choice = random.randint(0, 2)
# 用户输入自己的选择(0、1、2分别代表石头、剪刀、布)
user_choice = int(input("请出拳(0代表石头,1代表剪刀,2代表布):"))
# 判断胜负
result = rules[user_choice] - computer_choice
if result == 0:
print("平局")
elif result == 1 or result == -2:
print("用户胜利")
user_score += 1
else:
print("计算机胜利")
computer_score += 1
# 判断是否达到两局胜利
if user_score == 2:
print("用户最终胜利")
break
elif computer_score == 2:
print("计算机最终胜利")
break
```
运行程序后,控制台会提示用户出拳,并输出每一局的结果,直到有一方达到两局胜利。