这是我当前的功能:
def fn_one(x):
_list1 = [3, 1, 5, 3, 8, 5]
if 5 < x < 14:
return (fn_one(x-3) * fn_one(x-2)) + fn_one(x-1)
else:
if x < 6:
return _list1[x]
print(fn_one(7))
现在我的函数仅返回一个int,我要做的是返回一个包含从0到该int的返回值的列表。示例:假设我通过键入“ print(fn_one(4))”来调用该函数,然后我想返回一个列表,其中包含[fn_one(0),fn_one(1),fn_one(2),fn_one(3),fn_one (4)]仅使用递归。没有for循环或类似的东西,该函数只能使用一个变量。
看起来您具有一个f
可以f(k)
返回k
序列的th项的函数,并且您想要创建一个g
可以g(k)
返回return的函数[f(0), ..., f(k)]
。
基本上,每种情况下都首先计算g(k-1)
,然后将最新结果附加到该结果上。
def fn_two(x):
_list1 = [3, 1, 5, 3, 8, 5]
if 5 < x < 14:
lst = fn_two(x-1)
lst.append((lst[x-3] * lst[x-2]) + lst[x-1])
return lst
else:
if x < 6:
# Return the first x values of _list1
return _list1[:x+1]
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句