递归查找列表中最大数字(python练习)

编写一个程序,使用递归查找给定列表中的最大整数。

  • 定义函数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))
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值