Продолжаем тренироваться в списочных выражениях.
На этот раз вам предстоит найти все цифры в строке.
Вашему решению будет предоставлена переменная text
— строка, которая может содержать любые символы.
Нужно извлечь все цифры и собрать их в одну строку, сохранив порядок появления.
Примечание
В решении не должно быть ничего, кроме списочного выражения.
Подсказка
Воспользуйтесь шаблоном:
Python
''.join(... for ... in text if ...)
Пример
Ввод
text = '33 коровы,\n' + \
'33 коровы,\n' + \
'33 коровы -\n' + \
'Свежая строка.\n' + \
'33 коровы,\n' + \
'Стих родился новый,\n' + \
'Как стакан парного молока.\n' + \
'Стих родился новый,\n' + \
'Как стакан парного молока.\n'
Вывод
'33333333'
Ввод
text = '2 + 2 = 4'
Вывод
'224'
Решение
Очень простая задача на фильтрацию цифр в строке. Просто пробегаемся по символам строки и если текущий символ — цифра (isdigit()), то оставляем его. Получившийся список склеиваем в строку с помощью join().
Посмотреть код
Решение
Python
''.join(char for char in text if char.isdigit())
print(*[x for x in text if x.isdigit()], sep=»)
Мои решения стабильно не проходят в этом разделе 😀 пишет переменная text не определена, такое решение с in input() тоже не проходит. Интересно в общем очень, какая логика у фразы «ничего кроме списочного выражения»
Грубо говоря, ваш ответ подставят в конструкцию print(answer) где answer ваше списочное выражение.
Уберите вызов print, его за вас уже сделал яндекс.
Ну и надо это превратить в строку правильно.
cпасибо, странно что они это не указывают в условии