话不多说,奉上代码:
1 #倒计时 2 def count_down(i): 3 if i <= 0: 4 return 5 else: 6 print(str(i)) 7 count_down(i - 1) 8 9 #求阶乘 10 def factorial(x): 11 if x == 1: 12 return 1 13 return x * factorial(x - 1) 14 15 #斐波那契数列 16 def fabonacci(i): 17 if i == 1 or i == 2: 18 return 1 19 elif i >= 3: 20 return fabonacci(i - 1) + fabonacci(i - 2) 21 22 #对列表求和 23 def s_um(arr): 24 if arr == []: 25 return 0 26 return arr[0] + s_um(arr[1:]) 27 28 #求列表中的元素个数 29 def sum_(arr): 30 if arr == []: 31 return 32 return 1 + sum_(arr[1:]) 33 34 #寻找列表中的最大元素 35 def findMax(arr): 36 if len(arr) == 2: 37 return arr[0] if arr[0] > arr[1] else arr[1] 38 sub_max = max(arr[1:]) 39 return arr[0] if arr[0] > sub_max else sub_max
这些都是一些非常基础的递归实现,希望对于算法初学者的理解有些许帮助,谢谢。