由装饰器可知,函数内部可以调用其他函数;
若是函数在内部调用自身,则是递归函数;
格外注意 由于栈的大小是有限的,递归调用次数过多会导致栈溢出从而程序崩溃,这时候就可以尾递归的方法解决;
def fac(x):
return fact(x,1)
def fact(num,pt):
if num == 1:
return pt
else:
return fact(num-1,num*pt)
print(fac(5))
格外注意 由于栈的大小是有限的,递归调用次数过多会导致栈溢出从而程序崩溃,这时候就可以尾递归的方法解决;
def fac(x):
return fact(x,1)
def fact(num,pt):
if num == 1:
return pt
else:
return fact(num-1,num*pt)
print(fac(5))
本文标题:递归
本文链接:https://www.haomeiwen.com/subject/jspdbqtx.html
网友评论