Не могу написать программу в Python, которая считывает целые числа из списка и выводит из него только чётные в обратном порядке

numbers = [7, 14, 3, 18, 21, 10, 9, 6]
print('Исходный список: ', numbers)

for i in range(len(numbers)-1, -1, -1):
  if numbers[i] % 2 == 0:
    print('Отсортированный список: ', numbers[i])

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

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

Нужно создать отдельный пустой список, для того, чтобы сохранять в нем чётные числа. Так же в твоем коде if вообще ничего не делает, что выдает ошибку в коде. Вот исправленный код:

numbers = [7, 14, 3, 18, 21, 10, 9, 6]
print('Исходный список: ', numbers)
z=[] #пустой список
for i in range(len(numbers)-1, -1, -1):
  if numbers[i] % 2 == 0:
      z.append(numbers[i]) # сюда добавляю четные числа
print('Отсортированный список: ', z)
→ Ссылка
Автор решения: чистов_n

Ещё можно с помощью filter:

numbers = [7, 14, 3, 18, 21, 10, 9, 6]
print('Исходный список: ', numbers)

print('Отсортированный список: ', list(filter(lambda i: i % 2 == 0, numbers))[::-1])

Подробнее в документации.

→ Ссылка