我遇到了以下问题的问题:重复编写一个递归函数,将参数作为一个参数的函数f和一个正整数n.repeatApply的结果是一个参数的函数,该参数将f应用于该参数n次.
所以,例如,我们会
repeatedlyApply(lambda x: x+1,10)(100) ==> 110
您可以假定已定义以下函数.您不必使用它,但它可以为一个漂亮的解决方案做出贡献.
def compose(f,g):
return lambda x: f(g(x))
到目前为止我已经写过了
def compose(f,g):
return lambda x: f(g(x))
def recApply(f,n):
for i in range(n):
return recApply(compose(f,f), n-1)
return f
Run Code Online (Sandbox Code Playgroud)
我在某处出错了,因为使用上面的示例recApply(lambda x:x + 1,10)(100)我得到了1124.
非常感谢