我的问题是我的功能如下:
def myfunc(a):
b=[]
b.append(a)
return myfunc(a-1), b*
* =我知道这会破坏我的功能
是否有任何可能的方法允许b
在我的功能继续运行的同时使用我使用过的a
值进行更新?问题所涉及的代码是最大值。 proble。所以我有一个权重和值列表,以及最大值。允许的重量。我的函数发现最大没有问题,但我想看看我用它到达那里的值。即w = [1,2,3] v = [4,7,2]
最大权重= 3,最大值是= 11.我希望我的功能在版本中显示的是列表,例如使用的权重= [1,2]和使用的值= [4,7]。很抱歉由于缺少实际发布的代码,该网站不允许这样做。
答案 0 :(得分:2)
我建议使用默认参数。
def myfunc(a, lst=None):
if lst is None:
lst = []
lst.append(a)
if a > 0:
myfunc(a-1, lst)
return lst
print(myfunc(5)) # prints: [5, 4, 3, 2, 1, 0]
答案 1 :(得分:0)
你的意思是,这样的事情?
def myfunc(a):
if a == 0:
return [a]
return myfunc(a-1) + [a]
myfunc(5)
> [0, 1, 2, 3, 4, 5]