У меня возникла проблема с вопросом, который следующим образом: Пишите рекурсивную функцию несколько разApply, которая принимает в качестве аргументов функцию 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
Я где-то ошибаюсь, потому что с помощью приведенного выше примера recApply (lambda x: x + 1,10)(100) Я получаю 1124.
Помощь очень ценится