На вход попадается строка, состоящая из двух слов, разделённых пробелами. Необходимо переставить эти слова в порядке убывания их длин
(Если что язык Питон)
serd2011:
Язык?
Ответы
Ответ дал:
1
Python 3.7.2:
string = input()
array = list(filter(None, string.split(' ')))
array.sort(key=len, reverse=True)
print(*array, sep=' ')
Пример работы на скрине
============
Не забывайте нажать "Спасибо", поставить оценку и, если ответ удовлетворил, то выберите его как "Лучший"
Бодрого настроения и добра!
Успехов в учебе
Приложения:
Не могли бы вы объяснить, в чём смысл использования filter с None в качестве параметра функции-фильтра для приведения входной строки к листу отдельных "слов"? То есть, filter(None, Iterable) вернёт изначальную Iterable, без каких либо изменений. Так какой смысл всех этих огородов и змеиной магии, если обычный split() и так сразу вернёт нужный нам лист?
Да и задавать функции print() параметр sep в значение одного пустого символа тоже не имеет никакого смысла, ибо по умолчанию sep и так равен одному пробелу
По моему вообще достаточно
print(sorted(input().split(),reverse=True, key=len))
print(sorted(input().split(),reverse=True, key=len))
И конечно тоже бы хотелось узнать сокровенный смысл использования фильтра в принципе в этой задаче.
Для удаления пустых элементов
Они и не должны возникать. А если делать полную защиту от дурака, то код растет в разы.
Вас заинтересует
2 года назад
2 года назад
2 года назад
2 года назад
7 лет назад
7 лет назад