[Python] Вложенная функция, как передать значение

Тема в разделе "Perl, Python, Ruby", создана пользователем funman, 27 сен 2019.

  1. funman

    funman

    Регистр.:
    28 дек 2007
    Сообщения:
    160
    Симпатии:
    26
    Простой код.
    Код:
    def root(n):
        def telo(n):
            num=str(n)
            n=0
           
            for i in range(0,len(num)):
                n+=int(num[i])   
            print("do proverki n=",n)
            if (len(str(n)))!=1:
                telo(n)
            else:print("else n=",n);return(n)
        telo(n)
       
    print(root(942))
    по выполнению получаем:
    Код:
    do proverki n= 15
    do proverki n= 6
    else n= 6
    None
    По результату выполнения мне нужно передать ответ 6, в функцию root, чтобы она не отдавала None
     
  2. lag

    lag

    Регистр.:
    13 окт 2014
    Сообщения:
    270
    Симпатии:
    339
    Там две строки с вызовом telo(n) и в обеих не хватает return.