更新 python recurison 调用列表 returns 无

updating python list on recurison call returns None

def get_name():
    import random
    lst = ["aa", "bbb", "ccc", "dddd", "eee", "stop"]
    return random.choice(lst)

def poi(name, lst):
    res = get_name()
    lst.append(res)
    if res !="stop":
        poi(name, lst)
    else:
        print lst
        return lst


if __name__ == '__main__':
    print poi("xx", [])

poi() 方法在传递的列表中添加项目并且应该 return 列表直到 "stop" 在列表中。如果 "stop" 在列表中,则 return 是列表

print lst 打印 ['bbb', 'dddd', 'bbb', 'stop'] #1

但是

`print poi("xx", [])` prints `None`  #2

为什么 #2 正在打印 None 而不是更新列表?

poi(name, lst)

应该是

return poi(name, lst)

如果没有 return 语句,该函数将隐式返回 None