Вывести на экран только чётные числа

Ципихович Эндрю

Активный пользователь
Пользователь
Мар 27, 2021
490
26
28
здравствуйте, я в курсе, что решений сабжа много...............
# на ввод подаётся список, состоящий из чисел, из которых нужно вывести на экран только чётные
# если четных чисел в списке нет, программа должна вывести на экран -1
решение:
Код:
import re
r = re.findall(r'\d*[02468]\b', input())
print('\n'.join(r) if r else -1)
подскажите как в решении заменить input() при условии, что ввод есть в переменной: lst = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
спасибо
 

stud_55

Модератор
Команда форума
Модератор
Апр 3, 2020
1 522
672
113
подскажите как в решении заменить input() при условии, что ввод есть в переменной: lst = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
Можно так:
Python:
import re


lst = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
r = re.findall(r'\d*[02468]\b', " ".join(map(str, lst)))
print('\n'.join(r) if r else -1)
 

Ципихович Эндрю

Активный пользователь
Пользователь
Мар 27, 2021
490
26
28
то, что нужно, может кому надо без регулярки
Код:
lst = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
a = map(int, lst)
result = [*filter(lambda x: x % 2 == 0, a)] or [-1]
print(*result, sep="\n")
 
  • Мне нравится
Реакции: Vershitel_sudeb

Форум IT Специалистов