又双叒叕180 2021-05-15 09:30 采纳率: 33.3%
浏览 58
已采纳

想用递归得到一个列表中最长的元素

想问一下用递归得到最长的元素,并输出,自己试了好久还不明白(发现用空列表会从头开始运行)初学python希望大佬帮助!感谢

  • 写回答

4条回答 默认 最新

  • CSDN专家-黄老师 2021-05-15 10:04
    关注

    参考一下:

    def maxList(list):
        # 设一个默认值,与列表里的值比大小,谁大留谁,依次递归,最后留下的就是最大值。
        if len(list) >= 3:
            if len(list[0]) <= len(list[1]):
                return maxList(list[1:])
            else:
                num = list[0]
                list = list[2:]
                list.append(num)
                return maxList(list)
        else:
            if len(list) == 2:
                if len(list[0]) <= len(list[1]):
                    return list[1]
                else:
                    return list[0]
            else:
                print("请输入列表")
    
    print(maxList(['111', '22222','33333333']))
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(3条)

报告相同问题?

悬赏问题

  • ¥15 BP神经网络控制倒立摆
  • ¥20 要这个数学建模编程的代码 并且能完整允许出来结果 完整的过程和数据的结果
  • ¥15 html5+css和javascript有人可以帮吗?图片要怎么插入代码里面啊
  • ¥30 Unity接入微信SDK 无法开启摄像头
  • ¥20 有偿 写代码 要用特定的软件anaconda 里的jvpyter 用python3写
  • ¥20 cad图纸,chx-3六轴码垛机器人
  • ¥15 移动摄像头专网需要解vlan
  • ¥20 access多表提取相同字段数据并合并
  • ¥20 基于MSP430f5529的MPU6050驱动,求出欧拉角
  • ¥20 Java-Oj-桌布的计算