从键盘上接收玩家1和玩家2的输入<0(剪刀) 1(石头) 2(布)>; (2)断言输入的数据为0、1、2,否则输出异常; 判断玩家的输赢(列举出所有玩家1获胜的情况,跳出循环
时间: 2024-09-28 10:05:12 浏览: 28
为了实现这个功能,你可以采用类似以下的Python代码结构:
```python
while True:
# 接收玩家1的输入并检查是否合法
player1_input = input("请输入玩家1的选择(0-剪刀,1-石头,2-布): ")
assert int(player1_input) in [0, 1, 2], "玩家1输入错误,请选择0、1或2!"
# 接收玩家2的输入并检查是否合法
player2_input = input("请输入玩家2的选择(0-剪刀,1-石头,2-布): ")
assert int(player2_input) in [0, 1, 2], "玩家2输入错误,请选择0、1或2!"
# 判断玩家1是否获胜
if player1_input == '0': # 剪刀
if player2_input == '2': # 布
print("玩家1获胜!")
break
elif player2_input == '1': # 石头
print("玩家2获胜!")
elif player1_input == '1': # 石头
if player2_input == '0': # 剪刀
print("玩家1获胜!")
break
elif player2_input == '2': # 布
print("玩家2获胜!")
else: # 布
if player2_input == '1': # 石头
print("玩家1获胜!")
break
elif player2_input == '0': # 剪刀
print("玩家2获胜!")
# 结束游戏循环
```
在这个代码里,我们首先通过`input()`函数获取玩家的输入,并使用`assert`语句确保输入值在0到2之间。然后根据三者之间的规则(石头胜剪刀,剪刀胜布,布胜石头)判断胜负,如果玩家1获胜则打印信息并使用`break`退出循环。
阅读全文