递归

## 递归只是让程序逻辑更加清晰,并没有性能上的优势

## 每个递归函数的有两个部分:基线条件(base case)和递归条件(recursive case),递归条件即函数自己调用自己,而基线条件指函数不再调用自己,以避免造成无限循环

 1 def count_down(num):
 2     if num < 0:   # 基线条件
 3         return
 4     else:      # 递归条件
 5         print(num)
 6         count_down(num - 1)
 7 
 8 count_down(5)
 9 # 5 4 3 2 1 0
10 
11 def factorial(num):
12     return 1 if num == 1 else num * factorial(num - 1)
13 
14 print(factorial(6))
15 # 720
原文地址:https://www.cnblogs.com/hycstar/p/9345531.html