У меня возникли проблемы с вопросом, который следует ниже: Повторно напишите рекурсивную функцию Применить, которая принимает в качестве аргументов функцию f одного аргумента и положительного целого числа n. Результат повторного использования - это функция одного аргумента, которая применяет 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.
Помощь очень ценится