1、函数嵌套分析步骤:
1.NAME='czd'/ 2.def zhangwuji(): 3.1 name = '张无忌' 3.2 print(name) 3.3 def songqingshu(): 3.4.1 name='宋青书' 3.4.2 print(name) 3.4.3 def zhaomin(): 3.4.5.1 name='赵敏' 3.4.5.1print(name) 3.4.4 print(name) 3.4.5 zhaomin() 3.4 songqingshu() 3.5 print(name) 3.zhangwuji()
2、递归函数
def calc(n): print(n) if int(n/2) == 0: return n res = calc(int(n/2)) return res res=calc(10) print(res)
执行结果如下:
10
5
2
1
1
分析:先计算n=10,不符合if语句,往下继续计算的5,同理可得到2和1,计算到1时,符合if语句。所以返回1,再将1反馈到2,...最终得到结果就是1.
2.1 递归函数的性质
(1)必须要有一个明确的目标;
(2)每次进入更新一层递归时,问题的规模比上次有所减少;
(3)递归函数每次运行需要等待,占用内存。