If statement If语句不工作-即使条件匹配,也会继续转到else语句

If statement If语句不工作-即使条件匹配,也会继续转到else语句,if-statement,python-3.x,If Statement,Python 3.x,这就是我现在在Python中得到的 import sys num = input('Give me a four digit number.') a = num[0] b = num[1] c = num[2] d = num[3] if d == 0: print(c + b + a) else: print(d + c + b + a) 但当我输入1230时,它会返回0321给我。 有人知道为什么吗?如果我尝试你的代码,首先会出现一个类型错误,因为对输入进行了评估,所以它

这就是我现在在Python中得到的

import sys
num = input('Give me a four digit number.')
a = num[0]
b = num[1]
c = num[2]
d = num[3]

if d == 0:
    print(c + b + a)
else:
    print(d + c + b + a)
但当我输入1230时,它会返回0321给我。
有人知道为什么吗?

如果我尝试你的代码,首先会出现一个
类型错误,因为对输入进行了评估,所以它被转换为键入
int
。但我想你用了引号,所以这不是问题所在

正如您可能注意到的,问题在于给定输入的类型。在Python2.X中有
raw\u input
,它只是返回输入字符串,而没有对其求值。
答案是:

print(c+b+a if d=='0' else d+c+b+a)

# or

if d == '0':
    print(c + b + a)
else:
    print(d + c + b + a)