Python 重复函数的递归;x";时代
我需要通过递归多次重复函数“x”。我可以这样做,但输出需要为每一个结转 num是要调用的次数Python 重复函数的递归;x";时代,python,recursion,Python,Recursion,我需要通过递归多次重复函数“x”。我可以这样做,但输出需要为每一个结转 num是要调用的次数 def增量(n): 打印(n+1) 返回n+1 def foo(fn,num): def op(n): fn(n) 打印(个) 如果(数值>0): foo(fn,num-1) 返回操作 f=foo(增量,3) f(5) 现在我得到6分。预期结果是6,7,8,这里有一种方法: def incr(n): print(n+1) return n+1 def foo(fn, num):
def增量(n):
打印(n+1)
返回n+1
def foo(fn,num):
def op(n):
fn(n)
打印(个)
如果(数值>0):
foo(fn,num-1)
返回操作
f=foo(增量,3)
f(5)
现在我得到6分。预期结果是6,7,8,这里有一种方法:
def incr(n):
print(n+1)
return n+1
def foo(fn, num):
def op(n):
if num > 0:
n = fn(n)
foo(fn, num-1)(n)
return op
f = foo(incr, 3)
f(5)
递归函数应自行调用,有关详细信息,请参阅 我还添加了一个跟踪最终结果的参数
def incr(n, num):
if (n != num):
print(n + 1)
return incr(n + 1, num)
def foo(fn, num):
def op(n):
fn(n, n + num)
return op
f = foo(incr, 3)
f(5)
我不确定这是否最佳,你到底想要什么?你想用你的功能实现什么?这将返回3,2,1,0,6。不仅6.what is
6,7,8
,tuple
?f()
(即op()
)不是递归函数,它只调用一次fn
,仅此而已foo()
是一个递归函数,我希望它在返回之前显示3,2,1。感谢您的及时回复!