python3之递归实例
一、利用递归求: 1+2+3+4+5...+n的前n项和
1 def recursion_sum_1(n): 2 #当n = 1;和为1 3 #否则,n的和等同于 n + (n -1) 4 5 if n == 1: 6 return 1 7 8 else: 9 return n + recursion_sum_1(n-1) 10 11 print(recursion_sum_1(100)) # 5050
二、利用递归求: 1-2+3-4+5...+n的前n项和
1 def recursion_sum_2(n): 2 #当n = 1;和为1 3 #否则,n的和等同于 n + (n -1) 4 if n == 1: 5 return 1 6 else: 7 if n % 2 == 0: 8 return -n + recursion_sum_2(n-1) 9 elif n % 2 != 0: 10 return n + recursion_sum_2(n-1) 11 12 print(recursion_sum_2(4)) # -2
注意:
递归的优缺点:
优点:
把问题简单化,让思路更加清晰,代码更简洁
缺点:
递归因系统环境影响大,当递归深度太大时,可能会出现不可预知的结果