首页 > 解决方案 > Python程序使用递归函数问题来反转数字

问题描述

此代码由于某种原因不起作用,但我不确定为什么

def rev(n):
    if not n:
         return 0 
    return rev(int(n/10))*10 + n%10

转(512)

152

但是当我将它保存在一个特定的变量中并通过函数传递它时,它就可以工作了。为什么会这样?任何人都可以帮助我吗?

def rev(n,r=0):
    if not n:
        return r
    r = r*10 + n%10
    return rev(int(n/10),r)

转(512)

215

标签: pythonrecursion

解决方案


def rev(n,r=0):
    if not n:
        return r
    r = r*10 + n%10
    return rev(int(n/10),r)

#the above code can reverse the number digit by digit,bringing it forward;

def rev(n):
    if not n:
         return 0 
    return rev(int(n/10))*10 + n%10
#this code will  do some other thing;
#once try for few examples;
#preferable 1234;
#you can get the differences of bith the algo 

推荐阅读