#问题
#各函数定义
#我写的
#得出错误
我想知道为啥我这样做是错的,谢谢🙏
递归
def make_repeater(func, n):
def final(number):
if n == 0:
return number
else:
return func(make_repeater(func, n-1)(number))
return final
因为(square,0)(5)中,i=1直接运行了func=平方的结果(5的平方为25)即a,然后直接return a即25!
什么问题?
用func1调用自己,调用n次,那么每一次返回的还得是func1自己,而你返回的是f,这继续循环就调用不下去了呀,参数类型变了