Return в цикле Python возвращает none

def digital_root(n): #складывает цифры у числа
    n=str(n)
    if len(str(n))>1:
        n=sum(int(i) for i in n)
        digital_root(n)
    else:
        return n
print(digital_root(1443)) #None

Return не хочет внутри цикла выводить значение переменной. Объясните, пожалуйста, почему это так. и как это исправить.


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

Автор решения: cyr oil

вот код с исправлениями(проверено)

def digital_root(n): #складывает цифры у числа
        n=str(n)
        if len(n)>=2:
            n=sum(int(i) for i in n)
            return digital_root(n)
        elif len(n)==1:
            return n
    print(digital_root(1443)) #None
→ Ссылка