m0_64293827 2021-11-22 14:15 采纳率: 91.7%
浏览 47
已结题

python中如何求最大和子列表

本题要求实现一个函数msslst(),带一个整数列表作为输入参数。要求函数计算并返回输入列表中的最大和子列表之和。最大和子列表是输入列表的子列表(切片),其各项之和最大。所有列表项都为负数,则最大和子列表为空子列表,空子列表的和定义为0。

  • 写回答

1条回答 默认 最新

  • 陈.py 2021-11-22 15:42
    关注
    def msslst(in_list):
        # 先判断是否为全负或空列表
        if all(i < 0 for i in in_list) or in_list == []:
            return 0
        else:
            b = []
            # 判断是否有负数
            if any(i < 0 for i in in_list):
                # 只保留正数,保存到b列表
                for i in in_list:
                    if i >= 0:
                        b.append(i)
                return sum(b)
            # 如果没有负数则去掉最小的一个数
            else:
                m = min(in_list)
                while m in in_list:
                    in_list.remove(m)
                return sum(in_list)
    
    
    in_list = eval(input('输入列表:'))
    print(msslst(in_list))
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 12月7日
  • 已采纳回答 11月29日
  • 创建了问题 11月22日

悬赏问题

  • ¥15 乌班图ip地址配置及远程SSH
  • ¥15 怎么让点阵屏显示静态爱心,用keiluVision5写出让点阵屏显示静态爱心的代码,越快越好
  • ¥15 PSPICE制作一个加法器
  • ¥15 javaweb项目无法正常跳转
  • ¥15 VMBox虚拟机无法访问
  • ¥15 skd显示找不到头文件
  • ¥15 机器视觉中图片中长度与真实长度的关系
  • ¥15 fastreport table 怎么只让每页的最下面和最顶部有横线
  • ¥15 java 的protected权限 ,问题在注释里
  • ¥15 这个是哪里有问题啊?