gpt4 book ai didi

python - 重复函数应用

转载 作者:太空狗 更新时间:2023-10-30 00:52:03 24 4
gpt4 key购买 nike

我遇到了以下问题:Write a recursive function repeatedlyApply that takes as arguments a function一个参数的 f 和一个正整数 n。 repeatedlyApply 的结果是一个参数的函数,它将 f 应用于该参数 n 次。

所以,例如,我们会有

repeatedlyApply(lambda x: x+1,10)(100) ==> 110

You may assume that the following function has been defined. You don't have to use it, but it can contribute to a pretty solution.

def compose(f,g):    return lambda x: f(g(x))

So far i've written this

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。

非常感谢帮助

最佳答案

正确答案是:

def recApply(func, n):
if n > 1:
rec_func = recApply(func, n - 1)
return lambda x: func(rec_func(x))
return func

输出:

>>>> print recApply(lambda x: x+1,10)(100)
110

关于python - 重复函数应用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6135432/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com