Python编写石头剪刀布 要求如下: 1) 0表示剪刀,1表示石头,2表示布; 2) 接收用户输入的数,只能是0、1、2; 3) 电脑随机产生一个0~2的数字; 4) 比较电脑和玩家的出拳,分别输出赢、输和平局的情况。
时间: 2023-09-12 22:05:03 浏览: 127
### 回答1:
以下是Python代码,可以实现您的要求:
```python
import random
# 获取用户输入
choice = int(input("请选择:0表示剪刀,1表示石头,2表示布:"))
# 0表示剪刀,1表示石头,2表示布
if choice == 0:
user_choice = "剪刀"
elif choice == 1:
user_choice = "石头"
elif choice == 2:
user_choice = "布"
else:
print("输入错误,请重新输入!")
exit()
# 随机生成电脑选择
computer_choice = random.randint(0, 2)
if computer_choice == 0:
computer_choice = "剪刀"
elif computer_choice == 1:
computer_choice = "石头"
else:
computer_choice = "布"
# 打印出双方选择
print("你选择了:%s,电脑选择了:%s。" % (user_choice, computer_choice))
# 判断胜负
if choice == computer_choice:
print("平局!")
elif choice == 0 and computer_choice == 1:
print("你输了!")
elif choice == 1 and computer_choice == 2:
print("你输了!")
elif choice == 2 and computer_choice == 0:
print("你输了!")
else:
print("你赢了!")
```
在这个代码中,我们使用了Python的`random`模块来生成随机数。我们还使用了条件语句来判断用户输入的选项,并且用字符串变量来存储剪刀、石头、布的文字表示。最后,我们使用了一系列的条件语句来判断胜负,并打印出结果。
### 回答2:
下面是一个用Python编写的石头剪刀布游戏的例子,按照要求实现了用户输入和电脑随机生成数字,并比较它们的出拳情况,输出赢、输和平局的结果。
```python
import random
def get_user_choice():
while True:
user_input = input("请输入你的选择(0表示剪刀,1表示石头,2表示布):")
if user_input in ['0', '1', '2']:
return int(user_input)
else:
print("输入无效,请重新输入!")
def get_computer_choice():
return random.randint(0, 2)
def compare_choices(user_choice, computer_choice):
if user_choice == computer_choice:
return "平局"
elif user_choice - computer_choice == 1 or user_choice - computer_choice == -2:
return "赢"
else:
return "输"
def play_game():
user_choice = get_user_choice()
computer_choice = get_computer_choice()
choices = ["剪刀", "石头", "布"]
print("你出了", choices[user_choice])
print("电脑出了", choices[computer_choice])
result = compare_choices(user_choice, computer_choice)
if result == "平局":
print("平局!")
elif result == "赢":
print("你赢了!")
else:
print("你输了!")
play_game()
```
请注意,以上代码只是一个简单的实现示例,可能还有改进的余地。例如,可以添加输入的验证机制,确保用户输入的是有效的整数。
### 回答3:
下面是一个用Python编写的石头剪刀布的游戏的示例代码:
```python
import random
def rock_paper_scissors(player_choice):
options = ["剪刀", "石头", "布"]
computer_choice = random.randint(0, 2)
print("你出了:" + options[player_choice])
print("电脑出了:" + options[computer_choice])
if player_choice == computer_choice:
print("平局")
elif (player_choice == 0 and computer_choice == 2) or \
(player_choice == 1 and computer_choice == 0) or \
(player_choice == 2 and computer_choice == 1):
print("你赢了")
else:
print("你输了")
# 获取用户输入
player_choice = int(input("请输入剪刀(0),石头(1)或布(2):"))
# 校验用户输入
if player_choice not in [0, 1, 2]:
print("输入有误,请输入0、1或2")
else:
rock_paper_scissors(player_choice)
```
这段代码中,我们首先使用`import random`导入random模块,以便能够生成电脑的随机选择。然后定义了一个名为`rock_paper_scissors`的函数,接受玩家的选择作为参数。
在主程序中,我们通过`input`函数获取用户的输入,并使用`int(input())`将其转换为整数类型。然后使用条件语句对用户的输入进行校验。如果玩家输入的不是0、1或2,则输出错误消息。否则,调用`rock_paper_scissors`函数,并将玩家的选择作为参数传递给它。
在`rock_paper_scissors`函数中,我们首先定义了一个`options`列表,其中包含了对应每个选项的字符串。然后使用`random.randint(0, 2)`生成一个随机数作为电脑的选择。接下来,根据玩家和电脑的选择进行比较,根据比较结果输出相应的信息。如果玩家和电脑的选择相同,则输出平局;否则,根据规则判断胜负。
希望这样的回答能对您有所帮助!
阅读全文