Верно ли что все цифры числа четные

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

Активный пользователь
Пользователь
Мар 27, 2021
490
26
28
здравствуйте, решение есть в количестве трёх штук))
Код:
n = 234
print(('Нет', 'Да')[set(str(n)) <= set('02468')]) # => Нет
import re
print(('Нет', 'Да')[bool(re.fullmatch(r'[24680]+', str(n)))]) # => Нет
print(('Нет', 'Да')[all(map(lambda x: not x % 2, map(int, str(n))))]) # => Нет
но в последнем решении мне подсказали, что "map(int, str(n))" в коде не есть хорошо, подскажите, а как правильно? спасибо
 

stud_55

Модератор
Команда форума
Модератор
Апр 3, 2020
1 522
672
113
но в последнем решении мне подсказали, что "map(int, str(n))" в коде не есть хорошо, подскажите, а как правильно? спасибо
В последнем варианте можно заменить map на list comprehension:
Python:
print(('Нет', 'Да')[all([not int(x) % 2 for x in str(n)])])
# или
print(('Нет', 'Да')[all([x in '02468' for x in str(n)])])
 

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