不知道如何返回递归循环的最终结果

时间:2020-10-17 03:41:24

标签: python recursion

我正在解决Codewar上涉及递归的问题,我以前从没做过,但是有点理解这个概念。我不是很擅长数学,所以这可能可以解释为什么我无法解决这个问题。从本质上讲,我认为我确实做了正确的循环,只是我不知道如何打印最终值。无论如何,这是我的代码:

def digital_root(n):
    newn = 0
    list = [int(x) for x in str(n)]
    if len(list) >= 2:
        for i in range(len(list)):
            newn += list[i]
        digital_root(newn)
    return n

print(digital_root(1234) 

输出:

1234

1 个答案:

答案 0 :(得分:0)

def digital_root(n):
    newn = 0
    list = [int(x) for x in str(n)]
    if len(list) >= 2:
        for i in range(len(list)):
            newn += list[i]
        return digital_root(newn) # You need to return it over here
    return n

print(digital_root(1234))