Конструкция If,else в цикле for loop

Даны числа от 1 до 31 включительно

a = input().split()
q=0
x = [ print(i, end=' '), q=q+1 for i in z if int(i)%2==0 ]

Если число i четно, то выведи его и прибавь к перемемнной q+1

Но при компиляции выводит ошибку:

in: 4 16 19 31 2 out:

x = [print(i, end=' '), q=q+1 for i in z if int(i)%2==0]
                         ^    SyntaxError: invalid syntax

Ответы (4 шт):

Автор решения: a_nR1085__i
q = 0
for i in a:
    if int(i) % 2 == 0:
        print(i, end=' ')
        q += i
print(q)
→ Ссылка
Автор решения: Александр
numbers = [i for i in range(1, 32, 1)]

numbers = [[i for i in numbers if i % 2==0], [i for i in numbers if i % 2!=0]]

print("Чётные числа: {0}".format(numbers[0]))
print("Нечётные числа: {0}".format(numbers[1]))

Или так

numbers = [i for i in range(1, 32, 1)]

numbers = [[print("Чётные числа: {0}".format(i)) for i in numbers if i % 2==0],\
           [print("Нечётные числа: {0}".format(i)) for i in numbers if i % 2!=0]]
→ Ссылка
Автор решения: a_nR1085__i
x = [int(i) for i in a if int(i)%2==0]
print(sum(x)) # сумма четных чисел
print(x) # список четных чисел
→ Ссылка
Автор решения: XijPRX
a = input().split()
q = 0
x = [print(q+1) for i in a if int(i) % 2 == 0]
→ Ссылка