我对这个问题试图提出的问题感到困惑。
编写
mssl()将整数列表作为输入的函数(最小和子列表)。然后它计算并返回输入列表的最大和子列表的总和。最大和子列表是输入列表的条目总和最大的子列表(切片)。空子列表的总和定义为 0。例如,列表的最大总和子列表[4, -2, -8, 5, -2, 7, 7, 2, -6, 5]是[5, -2, 7, 7, 2],其条目的总和是19。
如果我要使用这个函数,它应该返回类似于
>>> l = [4, -2, -8, 5, -2, 7, 7, 2, -6, 5]
>>> mssl(l)
19
>>> mssl([3,4,5])
12
>>> mssl([-2,-3,-5])
0
我该怎么做?
这是我目前的尝试,但它不会产生预期的结果:
def mssl(x):
    ' list ==> int '
    res = 0
    for a in x:
        if a >= 0:
            res = sum(x)
        return res
    else:
        return 0