函数递归及面向过程编程
函数递归及面向过程编程 一、函数递归 1.1什么是递归 递归就是函数调用函数本身,然后有结束条件。 一般解决无法求解但不断靠近的值,比如利用二分法找具体的数字,汉诺塔等 让我们举个栗子,比如要实现0-99的和,用while循环为: num = 0 count = 0 while count<100: print(count) count += 1 num +=count print(num) 接下来我们用递归函数对他进行一个实现 count = 0 def f1(): global count #下面的count是全局的count if count >100: return count += 1 print(count) f1() f1() 以上就是一个递归函数,他其实在不断调用自身,同时他又一个结束条件就是当count<100的时候,调用就结束,输出count。 递归更多地是一种思想,他是用来解决某种问题 1.2 为什么要用递归 把规模大的、较难解决的问题变成规模较小的、易解决的同一问题。规模较小的问题又变成规模更小的问题,并且小到一定程度可以直接得出它的解,从而得到原来问题的解。 1.3 总结 1、递归一定要有一个明确的结束条件 2、每进入下一次递归,问题的规模都应该减少 3、递归效率不高,递归层次过多会变成死循环,导致栈溢出 二、面向过程编程 2.1 什么是面向过程编程