- 递归函数定义
- 递归函数语法特点
- 递归函数举例:
- 在函数内部,可以调用其他函数。如果一个函数在内部调用自身本身,这个函数就是递归函数。
-
函数中入口和出口必须设定,如果没有出口的话,会无法终止,死掉。
-
自己调用自己。递归函数存在至少两个分支,一个是退出嵌套,不再直接或者间接调用自己;另外一个则是继续嵌套。
-
先一层层实现递推拆解,递归每一次都是基于上一次进行下一次的执行,这叫递推。
-
回溯:遇到终止条件时,则从最后往回返一级一级的把值返回来,这叫回溯。
import snoop
@snoop
def fact(n):
if n==1:
return 1
else:
return n * fact(n-1)
print(fact(3))
result:
14:27:22.69 >>> Call to fact in File "F:/study/python/qt_study/qt_project/simple.py", line 3
14:27:22.69 ...... n = 3
14:27:22.69 3 | def fact(n):
14:27:22.69 4 | if n==1:
14:27:22.69 7 | return n * fact(n-1)
14:27:22.69 >>> Call to fact in File "F:/study/python/qt_study/qt_project/simple.py", line 3
14:27:22.69 ...... n = 2
14:27:22.69 3 | def fact(n):
14:27:22.69 4 | if n==1:
14:27:22.69 7 | return n * fact(n-1)
14:27:22.69 >>> Call to fact in File "F:/study/python/qt_study/qt_project/simple.py", line 3
14:27:22.69 ...... n = 1
14:27:22.69 3 | def fact(n):
14:27:22.69 4 | if n==1:
14:27:22.69 5 | return 1
14:27:22.69 <<< Return value from fact: 1
14:27:22.69 7 | return n * fact(n-1)
14:27:22.69 <<< Return value from fact: 2
14:27:22.69 7 | return n * fact(n-1)
14:27:22.69 <<< Return value from fact: 6
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)