递归--必须要有返回值

直接上代码:有点问题哟

def func(key,count=1,st=''):
     if count==key:
         print(st)
         return st
     st=st+str(count)
     func(key,count+1,st)
>>>print(func(4))
1234
None

再上代码:这次没问题了

def func(key,count=1,st=''):
     if count==key:
         print(st)
         return st
     st=st+str(count)
     return func(key,count+1,st)
>>>print(func(4))
1234
‘1234’

你发现问题了吗?每一层函数运行一次都必须要有return, 即使是递归,函数调用其他函数是另一回事, 这才是函数

posted @ 2020-02-06 12:29  盐亭的森林  阅读(1393)  评论(0编辑  收藏  举报