~~函数基础(四):递归函数~~
进击のpython 递归函数 学过数学的可能多多少少听过“递归”这个词 那么递归函数到底是怎么个函数呢? 老样子,从需求找方法! 我想要 100/2 结果继续除2,直到结果为零,然后打印每一步的结果 怎么写呢?可以用循环!对! n = 100 while n > 0: n = int(n / 2) print(n) 要的就是这种结果!但是,总有艮的 就想用函数来解决这个问题 甚至更过分的!还不想用循环! 能做吗?于是就有大 傻子 科学家研究出另一种写法: def func(n): n = int(n/2) print(n) func(100) 这么写还懂是吧 发现,n 这个变量就变成 50 了,然后还是要执行这个函数 也就是说,我可能要多次调用这个函数! 所以,就有了接下来的想法: def func(n): n = int(n / 2) print(n) if n > 0: func(n) func(100) 成功了!那光成功不行啊,咱们得研究研究怎么做到的呢??? 有感觉出循环了吗?通过不断的自我调用,达到了目的 每一次的函数的输出都是基于上次的返回结果! 进阶 总有刁民想害朕! 这不,有人写了这个代码! def func(n): n = int(n / 2) print(n) if n > 0: func(n) print(n) func(100) 和上面的比,就多了一句话