为什么在进行递归时返回None?

时间:2017-06-08 06:45:48

标签: python algorithm python-2.7 recursion

我以递归方式执行此问题Add Digits。为什么它会返回None?

def addDigits(num):
    """
    :type num: int
    :rtype: int
    """
    shit = str(num)
    n = len(shit)
    if n == 1:
        return num
    else:
        num = 0
        for i in xrange(n):
            num += int(shit[i])
        addDigits(num)

1 个答案:

答案 0 :(得分:1)

您需要在最后一行返回递归调用的值:

return addDigits(num)

如果没有这样的return,你就会默默地返回None