2016-06-28 8 views
-2

次のコードを実行しようとしました。私もjの値を返そうとしましたが、うまくいきません。ここ数字の逆順

def reverse(n): 

    j=0 

while(n!=0): 

     j=j*10 

     j=j + (n%10) 

     n=n/10 

print(j) 

reverse(45) 
+0

Python 3では、整数除算には '//'を使います。 –

答えて

1

は逆()関数は、アレイを作成し、前記アレイへの入力から、各桁を加算し、

def reverse(n): 
    v = [] 
    for item in reversed(list(str(n))): 
     v.append(item) 
    return ''.join(v) 

print(reverse("45")) 

戻り

54 

数を逆にするプログラムです。それをプレーンテキストとして出力します。あなたは整数としてそれからのデータが欲しいなら、あなたはここでは、関数の最後でこれに

return int(''.join(v)) 
0

をリターン命令を置き換えることができますPythonの3のための正しいコードです:

import sys 

def reverse(x): 
    while x>0: 
     sys.stdout.write(str(x%10)) 
     x = x//10 # x = x/10 (Python 2) 
    print() # print (Python 2) 
0

は、実はあなたは、唯一のミスを犯した:Pythonの3のためにあなたは、整数の除算を使用する必要があります。N = N // 10 ここで正しいコードはSTRとリストなしです:

def reverse(n): 
    j = 0 
    while n != 0: 
     j = j * 10 
     j = j + (n%10) 
     n = n // 10 
    print(j) 
reverse(12345) 
0
number = 45 
int(str(number)[::-1])