######用python完成石头剪刀布的程序,打算利用列表的方式完成
import random
a=["0","1","2"]
win=[["0","2"],["1","0"],["2","1"]]
print("剪刀石头布 游戏开始啦!")
print("游戏规则:0代表剪刀,1代表石头,2代表布!记住了吗?\n那我们就开始吧!")
b=input("请出拳:")
c=random.randint(0,2) #改为c=random.choice(a)可以正确运行
if b in a:
print("我出的是:", c)
if b==c:
print("平局!再来一次吧!")
elif [b,c] in win:
print("恭喜你赢啦")
else:
print("哈哈哈哈哈你输啦!再接再厉!")
else:
print("输入无效!")
print("哈哈哈哈哈哈你输啦!再接再厉!“)
c=random.randint(0,2)
改为
c=str( random.randint(0,2))
a ,win 列表的内容 和b=input("请出拳:") 读取的内容都是字符串
而random.randint(0,2)返回的是数值
数值与字符串比较都是不相等的,要用str() 把 random.randint(0,2)返回的数值转成字符串
你题目的解答代码如下:
import random
a=["0","1","2"]
win=[["0","2"],["1","0"],["2","1"]]
print("剪刀石头布 游戏开始啦!")
print("游戏规则:0代表剪刀,1代表石头,2代表布!记住了吗?\n那我们就开始吧!")
b=input("请出拳:")
c=str( random.randint(0,2)) #要用str() 把 random.randint(0,2)返回的数值转成字符串
if b in a:
print("我出的是:", c)
if b==c:
print("平局!再来一次吧!")
elif [b,c] in win:
print("恭喜你赢啦")
else:
print("哈哈哈哈哈你输啦!再接再厉!")
else:
print("输入无效!")
如有帮助,请点击我的回答下方的【采纳该答案】按钮帮忙采纳下,谢谢!