Форум программистов, компьютерный форум, киберфорум
Python для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.82/55: Рейтинг темы: голосов - 55, средняя оценка - 4.82
 Аватар для LiJuan_Jhao
22 / 22 / 0
Регистрация: 11.11.2019
Сообщений: 108

В тексте найти слова наименьшей и наибольшей длины

12.03.2020, 18:12. Показов 11101. Ответов 1
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Напишите класс MinMaxWordFinder. Класс должен уметь анализировать текст и находить в нём слова наименьшей и наибольшей длины. Текст состоит из предложений, которые добавляются в обработку методом add_sentence. Метод shortest_words возвращает список самых коротких на данный момент слов, метод longest_words — самых длинных. Слова, возвращаемые методами shortest_words и longest_words, должны быть отсортированы по алфавиту.

Если одно из самых коротких слов встретилось в исходных предложениях несколько раз, оно должно столько же раз повториться в списке самых коротких слов. Самые длинные слова наоборот должны входить в список без повторов.

Формат ввода
Каждый тест представляет собой код, в котором будет использоваться ваш класс. Файл c решением не обязательно называть solution.py, он будет переименован автоматически. Тест запускается с вашим классом, а его вывод сравнивается с правильным решением.

Вот код:
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
class MinMaxWordFinder:
    def __init__(self):
        self.min_word = 0
        self.max_word = 0
        self.list_word = []
 
    def add_sentence(self, text):
        if len(text) == 0:
            pass
        else:
            self.list_word += text.split()
            self.min_word = len(min(self.list_word, key=len))
            self.max_word = len(max(self.list_word, key=len))
 
    def shortest_words(self):
        return sorted(list(filter(lambda x: len(x) == self.min_word, self.list_word)))
 
    def longest_words(self):
        return sorted(set(filter(lambda x: len(x) == self.max_word, self.list_word)))
Примеры и ошибка во вложениях
Миниатюры
В тексте найти слова наименьшей и наибольшей длины   В тексте найти слова наименьшей и наибольшей длины  
1
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
12.03.2020, 18:12
Ответы с готовыми решениями:

Найти в тексте слова наименьшей и наибольшей длины
Напишите класс MinMaxWordFinder. Класс должен уметь анализировать текст и находить в нём слова наименьшей и наибольшей длины. Текст состоит...

Определить слова наибольшей и наименьшей длины и величину длины.
Дано предложение (символьная строка, где слова отделяются друг от друга запятой). Определить слова наибольшей и наименьшей длины и...

Написать функцию , которая в массиве строк в каждой строке меняет местами слова наибольшей и наименьшей длины
Написать функцию , которая в массиве строк в каждой строке меняет местами слова наибольшей и наименьшей длины

1
Модератор
Эксперт Python
 Аватар для Fudthhh
2695 / 1601 / 513
Регистрация: 21.02.2017
Сообщений: 4,210
Записей в блоге: 1
13.03.2020, 08:26
Лучший ответ Сообщение было отмечено CoMeLLa как решение

Решение

CoMeLLa,

Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
class MinMaxWordFinder:
    def __init__(self):
        self.min_word = 0
        self.max_word = 0
        self.list_word = []
 
    def add_sentence(self, text: str):
        if len(text.replace(" ", "")) != 0:
            self.list_word += text.split()
            self.min_word = len(min(text.split(), key=len))
            self.max_word = len(max(text.split(), key=len))
 
    def shortest_words(self) -> list:
        return sorted(list(filter(lambda x: len(x) == self.min_word, self.list_word)))
 
    def longest_words(self) -> list:
        return sorted(set(filter(lambda x: len(x) == self.max_word, self.list_word)))
Добавлено через 1 минуту
1) Ошибка проверки пустой строки, ведь пробелы это тоже символы.
2) Зачем каждый раз искать минимальную длину слов во всем тексте, ведь можно это делать только с текстом который добавляем.
2
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
13.03.2020, 08:26
Помогаю со студенческими работами здесь

Составьте программу поиска в заданном тексте слова наибольшей длины
1. Напишите программу подсчета количество вхождение в заданный текст заданного символа. 2. Составьте программу поиска в заданном тексте...

Даны два слова (длины M и N), состоящие из букв А, Г, Ц, Т. Найти подпоследовательность наибольшей длины
Молекулы ДНК, содержащие генетическую информацию – это длинные слова из четырех букв (А, Г, Ц, Т). В процессе эволюции, в результате...

Преобразовать массив, поменяв местами его первую серию наименьшей длины с последней серией наибольшей длины
Назовем серией группу подряд идущих одинаковых элементов, а длиной серии — количество этих элементов (длина серии может быть равна 1) ...

Найти в тексте слово наибольшей длины
Здравствуйте, товарищи программисты. Прошу помощи со следующей задачей: Найти в тексте слово наибольшей длины. Если слов несколько, то...

В тексте найти и вывести слово наибольшей длины, в котором нет заданной буквы
Помогите пожалуйста. Дуб дубом, а завтра сдавать надо. Надо на писать на простом си, желательно с парой комментариев(


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
Установка Emscripten SDK (emsdk) и CMake на Windows для сборки C и C++ приложений в WebAssembly
8Observer8 30.01.2026
Чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. Система контроля версиями Git. . .
Подключение Box2D v3 к SDL3 для Android: физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL3_image
8Observer8 27.01.2026
Содержание блога SDL3_image - это библиотека для загрузки и работы с изображениями. Эта пошаговая инструкция покажет, как загрузить и вывести на экран смартфона картинку с альфа-каналом, то есть с. . .
Влияние грибов на сукцессию
anaschu 26.01.2026
Бифуркационные изменения массы гриба происходят тогда, когда мы уменьшаем массу компоста в 10 раз, а скорость прироста биомассы уменьшаем в три раза. Скорость прироста биомассы может уменьшаться за. . .
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip" Извлеките архив и вы увидите. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru