我想将递归函数的第一次调用中的参数传递给后来的函数:
示例:
def function(x):
if base_case:
return 4
else:
return function(x_from_the_first_call + x_from_this_call)
有没有比关闭更好的方法呢?
E.g。
def function(outer_x):
def _inner(x)
if base_case:
return 4
else:
return function(outer_x + x)
return _inner(outer_x)
答案 0 :(得分:1)
如果你在某种程度上改变x的功能,那么这应该是我认为的:
def function(x, *args):
if base_case:
return 4
else:
new_x = x+1 # some change to x
if args:
# in args all previous x values
# remove if in case if you need all previous values
if not args:
args.append(x)
return function(new_x, *args)