python--求最大和子列表

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

函数接口定义:

 

msslst(lst)

lst为传入的整数列表。

裁判测试程序样例:

 
# 请在这里填写答案 

def main():
    s = input()
    items = s.split()
    lst = [eval(x) for x in items]
    print(msslst(lst))

main()

输入样例1:

在这里给出一组输入。例如:

4 -2 -8 5 -2 7 7  2 -6 5

输出样例1:

在这里给出相应的输出。例如:

19

输入样例2:

在这里给出一组输入。例如:

3 4 5

输出样例2:

在这里给出相应的输出。例如:

12

输入样例3:

在这里给出一组输入。例如:

-2 -3 -5

输出样例3:

在这里给出相应的输出。例如:

0

 def msslst(lst):
    ls=[]
    for i in range(len(lst)):
        for j in range(i,len(lst)+1):
            ls.append(sum(lst[i:j]))
    if max(ls)<0:
        return 0
    else:
        return max(ls)