これは私が今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 が返されます。誰でも理由を知っていますか?
コードを試してみると、最初に発生する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)