我正在尝试编写一个函数,该函数将一个函数作为其参数,并返回一个新函数,该函数运行该函数指定的次数。
例如,如果我有一个函数:
def doubleNumber(num):
return num * 2
我做了以下事情:
doubleThrice = repeatFunction(doubleNumber, 3)
然后我应该得到这个:
doubleThrice(3) # Returns 18 but should it?
到目前为止我已经有了这个,但我认为它没有达到我想要的效果:
def repeatFunction(func, n):
def inner(inp):
return func(inp) * n
return inner
我的印象是它只是运行该函数一次,然后将结果乘以 n,而不是运行该函数 n 次,尽管我不确定。
我只是想不出如何在repeatFunction函数中构建我需要的函数并返回它,也没有任何在线帮助对我来说真正有意义。
最佳答案
如果您想多次应用一个函数,您可能需要一个重复多次的循环:
def repeatFunction(func, n):
def inner(inp):
for i in range(n):
inp = func(inp)
return inp
return inner
关于Python:返回运行给定函数n次的函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38028781/