Python算法图解——递归(一):打印从1循环到10
本系列内容来自何韬编著的《Python算法图解》。

递归:程序调用自身的编程技巧。
它通常把一个大型复杂的问题,层层转换为一个与原问题相似的规模较小的问题来求解。
在某些情况下,它能解决 for 循环难以解决的算法问题,有时只需少量的代码就可描述出解题过程所需要的多次重复计算,大大减少了代码量。

在程序实现中,递归往往以调用的方式存在。
递归调用:声明一个方法,并在这个方法中设定条件,在此条件下调用自身方法,也就是在方法中自己调用自己,如果不符合条件则停止调用。

构成递归需具备的条件:
1)把要解决的问题转化为一个新问题,而这个新问题的解决方法仍与原来的问题解决方法相同,只是所处理的对象有规律地发生变化。
2)不能无限制地调用自身,须有个出口,以便跳出递归,避免死循环。

# 打印:从1循环到10
def F(x):
    if x <= 10:
        print(x)
        F(x+1)
F(1)
1
2
3
4
5
6
7
8
9
10