为什么递归不返回基本情况?

时间:2018-11-02 04:29:36

标签: python

我正在尝试了解递归如何返回其完成的解决方案。我解决了一个问题(学校作业),但老实说,我不知道它是如何返回解决方案的,而不是基本案例。我一直坚持认为,一旦传递的参数等于基本情况,它将返回传递的值。

下面是我解决的问题,基本上是使用递归将数字中的数字求和。

如果我输入“ 5678”,则返回26,这是正确的。但是我一直坚持认为它将返回0,因为那是传递给函数的最后一个参数(或n的实例),并且因为0%10 ==0。

def main():
    int = eval(input("Enter an integer: "))
    print("The sum of the digits you entered is: ", sumDigits(int))

def sumDigits(n):
    if n % 10 == 0:
        return n
    else:
        return sumDigits(n // 10) + (n % 10)

main()

0 个答案:

没有答案