我遇到了一个问题:编写一个递归函数repeatedlyApply,它将一个函数作为参数 一个自变量和正整数n的f。repeatedlyApply的结果是一个自变量的函数,它将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
我在某个地方出错了,因为使用上面的示例recApply(lambda x:x+1,10)(100),我得到1124。
非常感谢您的帮助
目前没有回答
相关问题 更多 >
编程相关推荐