Наибольшее абсолютное значение

Напишите функцию, которая будет принимать список целых чисел и возвращать сумму положительных или отрицательных чисел из этого списка или же количество нулей в списке — смотря по тому, какая из сумм будет больше в абсолютном выражении.

Например, если передан список [1, 2, 3, 4, 0, 0, -3, -2], функция вернет 10, потому что:

  • сумма положительных чисел = 1 + 2 + 3 + 4 = 10
  • сумма отрицательных чисел = (-3) + (-2) = -5
  • количество нулей = 2
  • 10 > 5 и 10 > 2

Исходим из того, что пустых списков не будет, а числа всегда будут целыми.



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)


Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: