Python 递归函数不返回
我在玩递归函数,我不明白如果列表为空[],为什么函数不返回,即使执行返回之前的print函数也是如此Python 递归函数不返回,python,Python,我在玩递归函数,我不明白如果列表为空[],为什么函数不返回,即使执行返回之前的print函数也是如此 def go(mylist): if not mylist: print('Empty list') return 'List Empty' else: print(mylist) mylist.pop() go(mylist) print(go([1, 2, 3, 4, 5])) 我得到的返回值为“None”,因为没有返回值的函数总是返回“None”
def go(mylist):
if not mylist:
print('Empty list')
return 'List Empty'
else:
print(mylist)
mylist.pop()
go(mylist)
print(go([1, 2, 3, 4, 5]))
我得到的返回值为“None”,因为没有返回值的函数总是返回“None”您必须返回从递归调用接收到的值:
return go(mylist)
谢谢你快速的回答。