Вывести четные числа в списке

a = int(3)
c = float(3.4)
b = int(5)
d = float(4.5)

l = [
    (a + d),
    (c - b),
    (b * c),
    (d / a),
    (a ** 2),
    (a // 2),
    (a % 2)]

print("Список", l)
print("Количество элементов в списке", len(l))

l = input().split()
for i in l:
    if int(i) % 2 == 0:
        print(i)

Как правильно вывести четные числа в списке? У мене ничего не выводит...


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

Автор решения: Zhihar

чтобы получить числа вместо

l = input().split()

(так вы получаете только список строк)

надо сделать так:

l = list(map(int, input().split()))

или так:

l = [int(obj) for obj in input().split()]

список четных чисел можно получить так:

arr = [i for i in l if i % 2 == 0]
→ Ссылка
Автор решения: CrazyElf
  1. Вы затираете сформированный вами список новым списком, полученным через input. Попробуйте ввести числа через пробел и вы увидите результат: 1 2 3 4 5. Выведутся 2 и 4.
  2. В сформированном вами списке нет чётных чисел, поэтому ничего не выведется из этого списка, если вы закомментируете строку с input и используете ваш список из кода.

Вот вывод вашего кода, чётных чисел тут просто нет:

Список [7.5, -1.6, 17.0, 1.5, 9, 1, 1]
Количество элементов в списке 7
→ Ссылка