Форум программистов, компьютерный форум, киберфорум
Python для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.87/230: Рейтинг темы: голосов - 230, средняя оценка - 4.87
7 / 7 / 0
Регистрация: 15.02.2018
Сообщений: 56
1

Самые короткие и самые длинные слова

21.03.2018, 20:20. Показов 46487. Ответов 5
Метки нет (Все метки)

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

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

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

Пример 1
Ввод Вывод
Python
1
2
3
4
5
6
7
from solution import MinMaxWordFinder
 
finder = MinMaxWordFinder()
finder.add_sentence('hello abc world')
finder.add_sentence('def asdf qwert')
print(' '.join(finder.shortest_words()))
print(' '.join(finder.longest_words()))
abc def
hello qwert world
Пример 2
Ввод Вывод
Python
1
2
3
4
5
6
7
8
9
10
11
from solution import MinMaxWordFinder
 
finder = MinMaxWordFinder()
finder.add_sentence('hello')
finder.add_sentence('abc')
finder.add_sentence('world')
finder.add_sentence('def')
finder.add_sentence('asdf')
finder.add_sentence('qwert')
print(' '.join(finder.shortest_words()))
print(' '.join(finder.longest_words()))
abc def
hello qwert world
Пример 3
Ввод Вывод
Python
1
2
3
4
5
6
7
8
9
10
11
from solution import MinMaxWordFinder
 
finder = MinMaxWordFinder()
finder.add_sentence('hello')
finder.add_sentence('  abc     def    ')
finder.add_sentence('world')
finder.add_sentence('            abc          ')
finder.add_sentence('asdf')
finder.add_sentence('qwert')
print(' '.join(finder.shortest_words()))
print(' '.join(finder.longest_words()))

abc abc def
hello qwert world
1
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
21.03.2018, 20:20
Ответы с готовыми решениями:

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

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

Между массивами A и B обменять их самые длинные цепочки из одинаковых элементов
Пример: массив A: 3 2 2 5 2 1 1 1 3 9 массив B: 1 2 5 5 4 8 3 3 В массиве A самая длинная...

Отсортировать слова в строке так, чтобы наиболее короткие из них были в начале строки, а наиболее длинные в конце
Вводится строка, состоящая из слов, разделенных пробелами. Требуется от- сортировать слова в...

5
5140 / 3395 / 1159
Регистрация: 21.03.2016
Сообщений: 8,224
21.03.2018, 21:41 2
Лучший ответ Сообщение было отмечено Taranboy как решение

Решение

Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
class MinMaxWordFinder():
    
    def __init__(self):
        self.minword = 0
        self.maxword = 0
        self.list_word = [ ]
        
    def add_sentence(self,text):
        self.list_word += text.split()
        self.minword = len(min(self.list_word, key = len))
        self.maxword = len(max(self.list_word, key = len))
        
    def shortest_words(self):
        return sorted(list(filter(lambda x : len(x) == self.minword, self.list_word)))
    
    def longest_words(self):
        return sorted(set(filter(lambda x : len(x) == self.maxword, self.list_word)))
0
7 / 7 / 0
Регистрация: 15.02.2018
Сообщений: 56
21.03.2018, 22:15  [ТС] 3
Он мне ошибку выводит
0
4 / 4 / 0
Регистрация: 02.03.2019
Сообщений: 7
19.03.2019, 21:07 4
Надо код подправить и предусмотреть тот случай, когда вместо текста добавляется пустота
0
5140 / 3395 / 1159
Регистрация: 21.03.2016
Сообщений: 8,224
20.03.2019, 12:16 5

Не по теме:

MrFinik, это надо было год назад подсказать

0
3 / 3 / 0
Регистрация: 31.10.2020
Сообщений: 4
13.03.2021, 09:51 6
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
class MinMaxWordFinder:
    def __init__(self):
        self.word_list = []
 
    def add_sentence(self, value):
        self.word_list.extend(value.split())
 
    def shortest_words(self):
        len_list, check_len_word, answer = [len(i) for i in self.word_list], 0, []
        if len_list:
            check_len_word = min(len_list)
        for i in self.word_list:
            if len(i) == check_len_word:
                answer.append(i)
        return sorted(answer)
 
    def longest_words(self):
        len_list, check_len_word, answer = [len(i) for i in self.word_list], 0, []
        if len_list:
            check_len_word = max(len_list)
        for i in self.word_list:
            if len(i) == check_len_word:
                answer.append(i)
        return sorted(set(answer))
3
13.03.2021, 09:51
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
13.03.2021, 09:51
Помогаю со студенческими работами здесь

Ввести два предложения и распечатать самые длинные слова, общие для этих предложений
Ввести два предложения и распечатать самые длинные слова общие для этих предложений. Если нужных...

Самые длинные последовательности чисел, упорядоченные по возрастанию
Напишите программу, которая будет находить самые длинные последовательности чисел, упорядоченные по...

Найдите в списке самые большие и самые маленькие элементы, поменяйте их местами и напишите программу
Найдите в списке самые большие и самые маленькие элементы, поменяйте их местами и напишите...

Поменять местами самые короткие и самые длинные слова в тексте
В файле есть текст. Определены самое короткое и самое длинное слова. Нужно поменять их местами в...

В заданом тексте найти самые короткие и самые длинные слова.
В заданом тексте найти самые короткие и самые длинные слова. Если можно, то с блок-схемкой

Из исходной строки исключить самые длинные и самые короткие слова
Из исходной строки исключить самые длинные и самые короткие слова. Вот такое вот задание. Нельзя...

В текстовом файле найти самые длинные и самые короткие слова и удалить их из файла.
Людти добрые помогите пожалуйсто кателок уже совсоем не варит задача :в текстовом файле найти самые...


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
Как работать с ветками (branch) в Git
InfoMaster 17.01.2025
Система контроля версий Git произвела революцию в процессе разработки программного обеспечения, предоставив разработчикам мощный инструмент для управления изменениями в коде. Одной из наиболее важных. . .
Как откатить последние коммиты в Git
InfoMaster 17.01.2025
Система контроля версий Git стала неотъемлемой частью современной разработки программного обеспечения, предоставляя разработчикам мощные инструменты для управления изменениями в коде. Одним из. . .
Что такое boilerplate и scaffold, чем они отличаются
InfoMaster 17.01.2025
В современном мире разработки программного обеспечения эффективность и скорость создания качественного кода играют crucial роль в успехе проектов. Разработчики постоянно ищут способы оптимизировать. . .
Чем отличаются ссылки и указатели в С++
InfoMaster 17.01.2025
В современном программировании на C++ эффективная работа с памятью является ключевым аспектом разработки качественного программного обеспечения. Указатели и ссылки представляют собой два. . .
В чем разница между PUT и POST
InfoMaster 17.01.2025
В современной веб-разработке правильное использование HTTP-методов играет ключевую роль в создании надежных и эффективных API-интерфейсов. Протокол HTTP прошел долгий путь развития с момента своего. . .
DTO, POCO и Value Object: что это такое, когда и как использовать
InfoMaster 17.01.2025
Введение в паттерны передачи данных В современной разработке программного обеспечения эффективное управление данными и их передача между различными слоями приложения являются ключевыми аспектами. . .
Что такое pull request в Git
InfoMaster 17.01.2025
В современной разработке программного обеспечения pull request в Git представляет собой ключевой механизм для эффективного взаимодействия между разработчиками при работе над общим кодом проекта. По. . .
Как вернуться к предыдущему коммиту в Git
InfoMaster 17.01.2025
Система контроля версий Git представляет собой мощный инструмент для управления изменениями в программном коде, который позволяет разработчикам эффективно отслеживать и контролировать историю. . .
Что такое паттерны программировани­я и проектирования
InfoMaster 17.01.2025
Роль паттернов в современной разработке программного обеспечения В современном мире разработки программного обеспечения паттерны проектирования стали неотъемлемой частью профессионального подхода. . .
Как добавить конструктор Яндекс Карт на сайт
InfoMaster 17.01.2025
Введение в API Яндекс Карт В современной веб-разработке интеграция картографических сервисов стала неотъемлемой частью многих проектов. API Яндекс Карт представляет собой мощный инструмент для. . .
Что такое javascript:void­­(0) и зачем это нужно
InfoMaster 17.01.2025
Когда вы сталкиваетесь с веб-разработкой, особенно с использованием JavaScript, одной из директив, которая часто встречается, является javascript:void(0). Это выражение вызывает интерес из-за своей. . .
Что такое оркестрация и хореография микросервисов
InfoMaster 17.01.2025
Введение в оркестрацию и хореографию микросервисов В современном мире разработки программного обеспечения микросервисная архитектура стала ключевым подходом к созданию масштабируемых и гибких. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru