2017-02-07 7 views
0
def intreverse(n): #reverse an integer 
    x=0 
    d=0 
    while(n>0): 
     d=n%10 
     x=x*10+d 
     n=n/10 
    return (x) 

// почему этот код не дает мне обратную ссылку на целое число в python?Обратное целое число в python не работает

+1

Какую версию Python вы используете? В Python-3 'n/10' является делением с плавающей запятой, а не целочисленным делением. – DyZ

+0

Что * * дает вам? – kindall

+0

fyi: вы можете сделать это просто с помощью 'int (str (n) [:: - 1])' – Julien

ответ

3

Если вы используете Python 3, используйте целочисленное деление //, так как / предоставит вам номер с плавающей запятой.

def intreverse(n): 
    x=0 
    d=0 
    while n > 0: 
     d = n % 10 
     x= x * 10 + d 
     n = n // 10 
    return (x) 

Вы можете даже улучшить вам код, удалив переменную д перед циклом в то время, так как его значение переназначены при входе в цикл, и вы можете также использовать дополненной оператор присваивания //= вместо n = n // 10, чтобы вы могли будет:

def intreverse(n): 
    x = 0 

    while n > 0: 
     d = n % 10 
     x = x * 10 + d 
     n //= 10 

    return x 
+0

спасибо ... :) –

+0

@ArkaBhowmick, пожалуйста, подтвердите ответ, если это было полезно, имейте в виду, что так работает stackoverflow – lmiguelvargasf

Смежные вопросы