Как правильно сделать рекурсию?

Рейтинг: 1Ответов: 1Опубликовано: 07.01.2023

Нашел задачку в которой нужно число разложить на составляющие числа и сплюсовать их, если в этом числе будет больше 1-го элемента сделать тоже самое. Но я не до конца понимаю как реализовать рекрсию, вроде написал, а оно не работает. Кто может объяснить вместо чего подставляется мой d_root в строке digital_root(d_root)?

def digital_root(n):
    n = str(n)
    d_root = 0
    for num in n:
        d_root += int(num)
    if len(str(d_root)) > 1:
        digital_root(d_root)
    else:
        return d_root

print(digital_root(29))

29 -> 11 -> 2 # 2 + 9 = 11 = 1 + 1 = 2

Ответы

Ответов пока нет.