0

这就是我现在在 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 给我。有谁知道为什么?

4

1 回答 1

1

如果我尝试您的代码,首先发生的事情是TypeError由于对输入的评估,所以它被强制转换为 type int。但我假设你使用了引号,所以这不是问题。

正如您可能注意到的,问题在于给定输入的类型。在 Python 2.X 中有raw_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)
于 2013-07-02T01:34:02.447 回答