刚学python的,想请教一下为什么后面的判断语句执行不了呢?

a = '2'
b = '1'
c = '0'
x = input("输入:")
if x == c:
print("您的输入为:剪刀(%s)" % x)
elif x == b:
print("您的输入为:石头(%s)" % x)
elif x == a:
print("您的输入为:布(%s)" % x)
import random
x1 = random.randint(0, 2)
print("随机生成的数字为:%s" % x1)

if x == a and x1 == a:
print("平手再来一次")
elif x == a and x1 == b:
print("哈哈,你输了")
elif x == a and x1 == c:
print("恭喜,你赢了")
elif x == b and x1 == b:
print("平手,再来一次")
elif x == b and x1 == c:
print("哈哈,你输了")
elif x == b and x1 == a:
print("恭喜,你赢了")
elif x == c and x1 == c:
print("平手,再来一次")
elif x == c and x1 == a:
print("恭喜,你赢了")
elif x == c and x1 == b:
print("哈哈,你输了")

x1 = random.randint(0, 2) 生成的是整数 与 x字符 对比 当然执行不了
那这一行 加个 str()函数转一下就好了。
x1 = str( random.randint(0, 2) )

1.首先,str与int比较不会报错,但值永远不相等
2.你这个判断太啰嗦了
先都转换成int型
直接判断x==x1,就是平手
x==x1+1 or x+2==x1,就是x赢
x+1==x1 or x==x1+2,就是x1赢

elif只有在if不为True的前提下才执行