Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/302.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 递归函数不返回_Python - Fatal编程技术网

Python 递归函数不返回

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”

我在玩递归函数,我不明白如果列表为空[],为什么函数不返回,即使执行返回之前的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”

您必须返回从递归调用接收到的值:

return go(mylist)

谢谢你快速的回答。