@n293
Аналитик

Как переписать код в чисто функциональном стиле?

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

Я решил ее так:
print(min([i for i in map(int, input().split()) if i % 2 != 0]))


По тестам отрабатывает, например:
Тест 1
Входные данные:
0 1 2 3 4

Вывод программы:
1

Но, принимающая система не пропускает из-за того что код недостаточно "функционален". Что и как нужно еще допилить до полностью функционального кода?
  • Вопрос задан
  • 3091 просмотр
Решения вопроса 2
@n293 Автор вопроса
Аналитик
Чета я велосипед нагородил какой-то. Все ж проще:

print(min(filter(lambda x: x % 2 != 0, map(int, input().split()))))
Ответ написан
adugin
@adugin Куратор тега Python
Можно обойтись без filter():
print(min(map(int, input().split()), key=lambda x: (not x % 2, x)))
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы