Как найти самое короткое слово в строке python
Перейти к содержимому

Как найти самое короткое слово в строке python

Условия проверки длины слова. Классы Python [закрыт]

Вопрос вызван проблемой, которая больше не воспроизводится, или опечаткой. Хотя похожие вопросы могут быть уместны на этом сайте, решение для этого вопроса вряд ли поможет будущим посетителям. Обычно можно избежать подобных вопросов написанием и исследованием минимальной программы для воспроизведения проблемы до публикации вопроса.

Закрыт 3 года назад .

Стоит задача в написании программы которая будет отбирать самые короткие и самые длинные слова в предложении. Я начал делать задачу и с гордостью запуская программу понял, что она куда-то теряет первое слово. У меня не получается придумать то, как можно изменить условие чтобы это самое первое слово куда-то распределялось. Я понял что условия составлены неверно, но как их изменить не догадываюсь, прошу помощь Community SO.

Python: поиск самых длинных/самых коротких слов в списке и вызов их в функции

У меня есть список слов:words=[«альфа»,»омега»,»вверх»,»вниз»,»над»,»под»,»фиолетовый»,»красный»,»синий»,»зеленый»] У меня есть две функции, которые должны найти самые короткие и самые длинные слова в этом списке:

У меня есть вложенные функции, поэтому я могу вызывать их все сразу:

Это просто возвращает это без ввода слов в списке:

Не уверен, почему, любая помощь приветствуется.

Если хотите, есть более простые способы решения проблемы:

Просто используйте функции max и min, имеющие ключ в качестве длины

Вы так близко — но я думаю, что проблема в callFunctions() . Вы сопоставляете функции func_list2 с каждой строкой в ​​массиве слов, а не применяете функцию к массиву в целом . Это была хорошая идея использовать карту, которая является мощной функцией, но вам не нужно использовать ее здесь. Вот код, который я протестировал с помощью простого онлайн-интерпретатора . Попытайся. Удачи во всем, что вы изучаете / в проекте, который вы делаете!

Во-первых, у вас ошибка в коде функции bigWords . Вы должны сравнивать с длиной, а не со словом следующим образом

Во-вторых, чтобы использовать две функции, вам нужно вызывать их для списка слов, а не для каждого слова:

Попробуйте это простое решение:

вы можете отсортировать список, используя sorted() функцию, которая позволяет вам сортировать список по длине строк в нем. Для этого вам нужно добавить key=len , чтобы функция сортировала по длине, а не по алфавитному порядку. вам также нужно дать функции reverse=true, чтобы было проще получить доступ к самой длинной строке (она будет в [0] в списке)

def longest(my_list): my_list = sorted(my_list, key=len, reverse=True) return my_list[0] list1 = [‘aaa’, ‘bbbb’, ‘cccccc’, ‘d’] print(longest(list1))

попробуйте вызвать :longestWord([‘longerthanlongest’,’long’,’longer’,’longest’])

Найти самое короткое слово в строке в Python

Я работаю над заданием, где мне нужно, чтобы кто-то ввел строку слов, и моя программа должна затем выбрать длину самого короткого и самого длинного слова в этой строке. Я успешно сделал это, чтобы выбрать длину самого длинного слова:

Поэтому, если ввод «счастливый день», моя функция печати сообщает мне, что самое длинное слово состоит из 5 символов.

Тем не менее, я не могу понять, как написать что-то, что выберет длину самого короткого слова во входной строке. Как бы я это сделал?

3 ответа

Самый простой способ найти самое маленькое слово — это использовать min функционировать вместе с len функционировать как key :

Точно так же, чтобы найти самое длинное слово, используйте max :

Теперь легкая часть, чтобы получить ее длину, заключить в len функция:

Если вы хотите знать только длину, а не фактическое слово, вы можете использовать:

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *