<算法图解>4.1/4.2/4.3 # 请编写前述sum函数的代码: def sum(list): if list == []: return 0 return list[0] + sum(list[1:]) print(sum([4, 5, 6, 7])) # 编写一个递归函数来计算列表包含的元素数 def count(list): if list == []: return 0 return 1 + count(list[1:]) print(count([4, 5, 6, 7])) # 找出列表中最大的数字 def max(list): if len(list) == 0: return None if len(list) == 1: return list[0] if len(list) == 2: return list[0] if list[0] > list[1] else list[1] sub_max = max(list[1:]) return list[0] if list[0] > sub_max else sub_max print(max([4, 5, 6, 7])) print(max([])) print(max([1])) # 如果没有len(list)为0或者1的保护代码,如上会报错 # RecursionError: maximum recursion depth exceeded in comparison def max2(list): if len(list) == 0: return None if len(list) == 1: return list[0] if len(list) == 2: if list[0] > list[1]: return list[0] return list[1] sub_max = max(list[1:]) if list[0] > sub_max: return list[0] return sub_max print(max2([3, 4, 5, 6]))
递归练习答案
最新推荐文章于 2022-11-28 13:48:25 发布