更新 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
。
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
。