Разница суммы всех четных и нечетных элементов массива

515 просмотра
0
0 Комментариев

Как в питон–стиле найти разницу суммы всех четных и нечетных элементов массива

Полностью задача звучит следующим образом:

Сгенерировать массив целых чисел в пределах от 0 до 100 размерности 10 на 20 (10 строк, 20 столбцов). Найти разницу суммы всех четных и нечетных элементов.

Массив сгенерировал как-то так:

import numpy as np
a = np.random.random_integers(0, 100, 200).reshape(10,20)


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

1 Ответы

Python Опубликовано 16.12.2018
0

например, так

a = [1,2,3,4,5,6]
 
print sum([0 if x % 2 != 0 else x for x in a]) - sum([0 if x % 2 == 0 else x for x in a])

можно и короче

print sum([x if x %2 == 0 else -x for x in a])

А если преподаватель не понимает генераторов, тогда так

a = [1,2,3,4,5,6]
 
s = 0
 
for x in a:
    if x % 2 == 0:
        s+=x
    else:
        s-=x
 
print s

UPD

в комментах предлагают считать, что под четным элементом нужно понимать элемент, индекс которого четный. Но это стоит уточнить. В любом случае, код ещё проще (если применить срез).

a = [1,2,3,4,5,6]
print sum(a[0::2]) - sum(a[1::2])

и никаких enumerate.

Добавить комментарий
Напишите свой ответ на данный вопрос.
Scroll Up