Как найти самое длинное слово в строке python
Задача. Пользователь вводит предложение(какой-либо текст). Программа вычисляет самое длинное слово в предложении.
- Вы здесь:
- Главная

- Web разработка

- Python. Задачи с решениями

- Python. Задача 13. Самое длинное слово в предложении
Python: найти самое длинное слово в строке
Я готовлюсь к экзамену, но у меня возникают трудности с одним вопросом из прошлой статьи. Учитывая строку, содержащую предложение, я хочу найти самое длинное слово в этом предложении и вернуть это слово и его длину. Изменить . Мне нужно было только указать длину, но я ценю ваши ответы на оригинальный вопрос! Это помогает мне узнать больше. Спасибо.
Например: string = «Привет, я люблю печенье». Моя программа должна вернуть «Cookies» и длину 7.
Теперь дело в том, что мне не разрешается использовать какую-либо функцию из класса String для полной оценки, а для полной оценки я могу пройти строку только один раз. Мне не разрешено использовать string.split () (иначе проблем не будет), и в решении не должно быть слишком много операторов for и while. Строки содержат только буквы и пробелы, а слова разделяются одним пробелом.
Какие-либо предложения? Я потерян, т. Е. У меня нет кода.
РЕДАКТИРОВАТЬ . Извините, я неправильно прочитал экзаменационный вопрос. Вам нужно только вернуть длину самого длинного слова, а не длину + слово.
EDIT2 : Хорошо, с вашей помощью я думаю, что я на что-то .
Но он возвращает [5, 1, 4] для «Здравствуйте, я люблю куки», поэтому он пропускает «куки». Почему? РЕДАКТИРОВАТЬ: Хорошо, я понял. Это потому, что больше нет «» после последней буквы в предложении, и поэтому он не добавляет длину. Я исправил это так, что теперь он возвращает [5, 1, 4, 7], а затем я просто беру максимальное значение.
Я полагаю, использование списков, но не .split () это нормально? Просто сказано, что функции из «String» не разрешены или списки являются частью строк?
Как найти самое длинное слово с помощью Python?
Как я могу использовать Python, чтобы найти самое длинное слово из набора слов? Я могу найти такое первое слово:
задан 28 июля ’09, 06:07
Это, наверное, самый трудный для понимания вопрос, который я когда-либо читал. Вы ищете самое длинное слово в заданной строке, поэтому в вашем примере это будет «ааа», верно ?! И вы хотите получить его из одного выражения с использованием встроенных модулей и без создания собственной функции или класса. В этом суть вашего вопроса? — ThomasH
@LarsOn: Пожалуйста, не комментируйте свой вопрос. Пожалуйста, удалите комментарий и ОБНОВИТЕ вопрос новой информацией. — S.Lott
4 ответы
Если я правильно понял ваш вопрос:
split() разбивает строку на слова (разделенные пробелами); max() находит самый большой элемент с помощью встроенного len() функция, то есть длина строки, как ключ, чтобы узнать, что означает «наибольший».
Создан 28 июля ’09, 10:07

Вот один из категории «Насколько сложно вы можете это сделать», также нарушающий требование об отсутствии собственного класса:
Интересно то, что вы используете член объекта для поддержания состояния, пока список вычисляется в понимании, в конечном итоге отбрасывая список и используя только побочный эффект.
Но, пожалуйста, используйте один из Максимум() решения выше :-).