Что происходит в данной рекурсии?

Задача найти сумму цифр числа, рекурсивно повторять пока результат не станет однозначным числом.

Рекурсия, это вызов функцией самой себя, вроде я сделал так. Но функция не возвращает никакого значения, в то же время, если заменить return на print() получиться правильное значение. Объясните, пожалуйста, что происходит в данной функции, почему она ничего не возвращает и почему моя рекурсия не правильна.

def digital_root(n):
    lst = [int(i) for i in list(str(n))]
    if len(lst) > 1:
        result = sum(lst)
        digital_root(result)
    else:
        return print(lst[0])

Ответы (0 шт):