Maximale Summenunterliste?

Ich bin mit dieser Frage verwirrt, was es zu fragen versucht.

Schreibfunktionmssl() (Minimum Sum Sublist), die eine Liste von ganzen Zahlen als Eingabe nimmt. Anschließend wird die Summe der maximalen Summenunterliste der Eingabeliste berechnet und zurückgegeben. Die maximale Summenunterliste ist eine Unterliste (Slice) der Eingabeliste, deren Summe der Einträge am größten ist. Die leere Unterliste hat die Summe 0. Zum Beispiel die maximale Unterliste der Liste[4, -2, -8, 5, -2, 7, 7, 2, -6, 5] ist[5, -2, 7, 7, 2] und die Summe seiner Einträge ist19.

Wenn ich diese Funktion verwenden würde, müsste sie ungefähr so ​​aussehen

>>> l = [4, -2, -8, 5, -2, 7, 7, 2, -6, 5]
>>> mssl(l)
19
>>> mssl([3,4,5])
12
>>> mssl([-2,-3,-5])
0

Wie kann ich es tun?

Hier ist mein aktueller Versuch, aber er führt nicht zum erwarteten Ergebnis:

def mssl(x):
    ' list ==> int '
    res = 0
    for a in x:
        if a >= 0:
            res = sum(x)
        return res
    else:
        return 0

Antworten auf die Frage(12)

Ihre Antwort auf die Frage