编写一个程序,使用递归查找给定列表中的最大整数。
- 定义函数
find_highest_number()
,参数为列表numbers_list
。 - 在函数内部,实现一个递归算法,找出列表中的最大数字,并返回它。
示例输入
6 4 9 1 7 12 5
示例输出
12
本题涉及python递归算法的实现。
本题思路主要是通过删除列表中非最大值,从而最终返回仅剩的一个最大值来实现。
首先当递归到列表长度为一时,说明该元素就是原来元素的最大值。
其次可以将列表第一个和第二个元素进行比较,并且删除其中较小的值。
这里列表的删除用到了pop()函数,其格式为list.pop(n),其中n是要删除元素的索引值。
def find_highest_number(numbers_list):
# 此处编写代码
if len(numbers_list)==1:
return numbers_list[0]
else:
if numbers_list[0]>numbers_list[1]:
numbers_list.pop(1)
else:
numbers_list.pop(0)
return find_highest_number(numbers_list)
# 输入数字并转为列表
numbers_list = list(map(int, input().split()))
# 调用函数打印结果
print(find_highest_number(numbers_list))