我试图编写一个以函数作为参数的函数,并返回一个运行所述函数给定次数的新函数。
例如,如果我有一个功能:
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函数中构建我需要的函数并返回它,也没有任何在线帮助对我有用。
答案 0 :(得分:2)
如果你想多次应用一个函数,你可能需要一个循环重复多次:
def repeatFunction(func, n):
def inner(inp):
for i in range(n):
inp = func(inp)
return inp
return inner