1.不断调用自己本身 (死递归)
2.有明确的终止条件
满足以上两个才是有效递归
官方声明:最大层次1000,实测 998/997
def age(n):
if n == 4:
return 18
else:
return age(n+1)-2
print(age(1))
把上面的展开
def age4(n):
if n == 4:
return 18
def age3(n):
if n == 4:
return 18
else:
return age4(n+1)-2
def age2(n):
if n == 4:
return 18
else:
return age3(n+1)-2
def age1(n):
if n == 4:
return 18
else:
return age2(n+1)-2
print(age1(1))