Top.Mail.Ru

Перечень алгоритмов

13. Нахождение суммы всех четных и нечетных чисел списка

Дан список:

a= [1,2,3,4,5,6,7,8,9,0]

 

Способ №1. Использование генератора списка и функции sum():

sm1 = sum([x for x in a if x %2==0])
sm2 =
sum([x for x in a if x %2!=0])
print("сумма четных", sm1)
print("сумма нечетных", sm2)

# сумма четных 20
# сумма нечетных 25
Временная сложность: O(n)

 

 

Способ №2. Использование функции filter()

sm1 = sum(list(filter(lambda x: x %2 == 0, a)))
sm2 =
sum(list(filter(lambda x: x %2 != 0, a)))
print("сумма четных", sm1)
print("сумма нечетных", sm2)

# сумма четных 20
# сумма нечетных 25
Временная сложность: O(n)

 

Способ №3 использование функции enumerate()

sm1 = sum([x for i, x in enumerate(a) if x%2==0])
sm2 =
sum([x for i, x in enumerate(a) if x%2!=0])
print("сумма четных", sm1)
print("сумма нечетных", sm2)

# сумма четных 20
# сумма нечетных 25
Временная сложность: O (n)


Способ 4. Использование цикла for

sm1 = 0
sm2 = 0
for x in a:
  
if x % 2 == 0 :
       sm1 += x
  
elif x % 2 != 0:
       sm2 += x
print("сумма четных", sm1)
print("сумма нечетных", sm2)

# сумма четных 20
# сумма нечетных 25
Временная сложность: O (n)