Не могу написать программу в 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])
Подробнее в документации.