Я смущаюсь с этим вопросом в том, что он пытается спросить.Подписей с максимальной суммой?
Запись функции
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
Если вы не можете решить проблему в вашей голове, вы не можете решить ее с помощью компьютера. Прежде чем писать какой-либо код, попробуйте сами решить некоторые примеры. Когда у вас есть рабочий метод, затем кодифицируйте алгоритм. –