Напишите функцию, которая будет принимать список целых чисел и возвращать сумму положительных или отрицательных чисел из этого списка или же количество нулей в списке — смотря по тому, какая из сумм будет больше в абсолютном выражении.
Например, если передан список [1, 2, 3, 4, 0, 0, -3, -2], функция вернет 10, потому что:
Исходим из того, что пустых списков не будет, а числа всегда будут целыми.
major_sum([1, 2, 3, 4, 0, 0, -3, -2]) ➞ 10 major_sum([-4, -8, -12, -3, 4, 7, 1, 3, 0, 0, 0, 0]) ➞ -27 major_sum([0, 0, 0, 0, 0, 1, 2, -3]) ➞ 5 # Потому что -3 < 1+2 < 5 # (5 - количество нулей)
def major_sum(lst):
pos, neg, zero = 0, 0, 0
for n in lst:
if n > 0:
pos += n
elif n < 0:
neg += n
else:
zero += 1
return max(pos, neg, zero, key=abs) def major_sum(lst):
pos = sum([i for i in lst if i > 0])
neg = sum([i for i in lst if i < 0])
zero = lst.count(0)
if abs(neg) > pos and abs(neg) > zero:
return neg
else:
return max(pos, zero) Если вы ищете работу на Python, на Talanto.work сейчас есть варианты для junior, middle, senior…
Рынок Python-вакансий большой, но удобным его назвать сложно. Формально вакансий много, однако в реальном поиске…
Срезы в Python — это больше, чем a[2:7]. В статье — быстрый разбор полезных приёмов:…
В этой статье мы рассмотрим возведение в степень в Python с помощью различных методов, от…
Дубликаты в списке Python — частая проблема. В статье показано, как быстро убрать повторы, в…
Услуга виртуального хостинга на SpaceWeb позволяет арендовать часть сервера (shared-сервера) и разместить на нём свой…