Форум программистов, компьютерный форум, киберфорум
Python для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.55/47: Рейтинг темы: голосов - 47, средняя оценка - 4.55
0 / 0 / 0
Регистрация: 11.02.2016
Сообщений: 30

Удалить из сообщения все повторяющиеся слова

01.11.2017, 21:38. Показов 9145. Ответов 22
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Дано осмысленное текстовое сообщение (т.е. алфавитно-цифровая информация, разделенная пробелами и знаками препинания, в конце которого ставится точка):
Удалить из сообщения все повторяющиеся слова.
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
01.11.2017, 21:38
Ответы с готовыми решениями:

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

Удалить из сообщения все повторяющиеся слова (без учета регистра)
Есть подобные темы, но решения нет. Удалить из сообщения все повторяющиеся слова (без учета регистра). Жирным выделена проблема....

Удалить из сообщения все повторяющиеся слова (без учета регистра)
Ребят здравствуйте! Вот код моей программы StreamReader sr = File.OpenText(AppDomain.CurrentDomain.BaseDirectory +...

22
5 / 5 / 3
Регистрация: 07.07.2013
Сообщений: 122
01.11.2017, 23:25
Тогда сообщение может стать не таким уж и осмысленным! Это то что нужно? Может имеет смысл посчитать слова которые хоть 1 раз встречаются в тексте и вывести их?
0
0 / 0 / 0
Регистрация: 11.02.2016
Сообщений: 30
02.11.2017, 17:03  [ТС]
Можно и просто написать функцию для удаления из сообщения всех повторяющихся слов необязательно применимую к
осмысленному текстовому сообщению
0
 Аватар для Semen-Semenich
5237 / 3481 / 1176
Регистрация: 21.03.2016
Сообщений: 8,310
02.11.2017, 17:36
Ghost48624, а в чем у вас проблема? разделить текст на слова в список, найти слова чье вхождение больше 1 исключив из этого цифры и заменить в тексте на ''
0
963 / 718 / 276
Регистрация: 10.12.2016
Сообщений: 1,764
02.11.2017, 17:57
технически-то можно
Python
1
2
3
4
5
6
7
8
9
10
11
12
>>> from itertools import groupby
>>> s = 'aaa bbb ddd ddd eee fff ttt ddd'
>>> g = groupby(s.split())
>>> for k,v in g: print(k)
 
aaa
bbb
ddd
eee
fff
ttt
ddd
0
0 / 0 / 0
Регистрация: 11.02.2016
Сообщений: 30
02.11.2017, 18:00  [ТС]
А с использованием массивов, без встроенных функций?
0
963 / 718 / 276
Регистрация: 10.12.2016
Сообщений: 1,764
02.11.2017, 18:02
Python
1
2
>>> type('aaa bbb ccc'.split())
<class 'list'>
0
0 / 0 / 0
Регистрация: 11.02.2016
Сообщений: 30
02.11.2017, 18:10  [ТС]
Нужно написать функцию, которая удаляла бы из сообщения все повторяющиеся слова, функция должна применяться к массиву (списку)
0
Эксперт Python
5438 / 3859 / 1215
Регистрация: 28.10.2013
Сообщений: 9,552
Записей в блоге: 1
02.11.2017, 19:26
Python
1
2
3
4
5
6
def udali_vse_povtory_pozhalujsta_nachalnika(spisok):
    return set(spisok)
 
>>> udali_vse_povtory_pozhalujsta_nachalnika(['саша', 'маша', 'петя', 'сережа', 'саша', 'коля', 'вася', 'маша', 'наташа', 'коля'])
{'петя', 'саша', 'маша', 'вася', 'наташа', 'коля', 'сережа'}
>>>
0
0 / 0 / 0
Регистрация: 11.02.2016
Сообщений: 30
02.11.2017, 21:26  [ТС]
На вход идёт сообщение представленное в виде алфавитно-цифровой информации, разделенной пробелами и знаками препинания, в конце которого ставится точка
0
 Аватар для Semen-Semenich
5237 / 3481 / 1176
Регистрация: 21.03.2016
Сообщений: 8,310
02.11.2017, 21:28
Ghost48624, можно образец сообщения
0
Эксперт Python
5438 / 3859 / 1215
Регистрация: 28.10.2013
Сообщений: 9,552
Записей в блоге: 1
02.11.2017, 21:32
Цитата Сообщение от Ghost48624 Посмотреть сообщение
функция должна применяться к массиву (списку)
Цитата Сообщение от Ghost48624 Посмотреть сообщение
На вход идёт сообщение представленное в виде алфавитно-цифровой информации
— Сверим часы.
— На моих эндцать часов.
— Аналогично.
(@ "Следствие ведут колобки")
0
0 / 0 / 0
Регистрация: 11.02.2016
Сообщений: 30
02.11.2017, 21:37  [ТС]
Цитата Сообщение от Ghost48624 Посмотреть сообщение
Нужно написать функцию, которая удаляла бы из сообщения все повторяющиеся слова, функция должна применяться к массиву (списку)
По ошибке написал, верно то, что было изначально написано в условии
0
Эксперт Python
5438 / 3859 / 1215
Регистрация: 28.10.2013
Сообщений: 9,552
Записей в блоге: 1
02.11.2017, 21:52
И что мешает сложить 2+2?
Python
1
2
3
>>> " ".join(set('aaa bbb aaa ccc'.split()))
'aaa ccc bbb'
>>>
0
 Аватар для Semen-Semenich
5237 / 3481 / 1176
Регистрация: 21.03.2016
Сообщений: 8,310
02.11.2017, 21:58
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
text = '''— Сверим часы. 
— На моих эндцать часов.
- повтор слово часы
-- повторяем слово Аналогично
— Аналогично.
(@ "Следствие ведут колобки")'''
 
a = ''.join( [i for i in text if i.isalpha() or i == ' ' ]).split()
for k in [ i for i in set(a) if a.count(i)>1]:
    text = text.replace(k,'')
print(text)
 
— Сверим . 
— На моих эндцать часов.
- повтор  
-- повторяем  
— .
(@ "Следствие ведут колобки")
0
0 / 0 / 0
Регистрация: 11.02.2016
Сообщений: 30
02.11.2017, 22:19  [ТС]
Можно ли сделать так, чтобы удалялось только слово-повтор, а слово-оригинал оставалось?

Цитата Сообщение от Semen-Semenich Посмотреть сообщение
text = '''— Сверим часы.
— На моих эндцать часов.
- повтор слово часы
-- повторяем слово Аналогично
— Аналогично.
(@ "Следствие ведут колобки")'''
a = ''.join( [i for i in text if i.isalpha() or i == ' ' ]).split()
for k in [ i for i in set(a) if a.count(i)>1]:
* * text = text.replace(k,'')
print(text)
— Сверим .
— На моих эндцать часов.
- повтор *
-- повторяем *
— .
(@ "Следствие ведут колобки")
0
 Аватар для Semen-Semenich
5237 / 3481 / 1176
Регистрация: 21.03.2016
Сообщений: 8,310
02.11.2017, 22:24
Цитата Сообщение от Ghost48624 Посмотреть сообщение
а в конце ставится точка то эта конструкция не работает
ну не совсем. повторяющиеся слова то удалит но знаки останутся. но тут другая ошибка удаляет не только слова но и буквы допустим в строке 'Если на вход подать предложение, в котором присутствуют знаки препинания, а в конце ставится точка' буква в имеет 2 повторения но и в слове вход есть в и replace её тоже заменяет
0
0 / 0 / 0
Регистрация: 11.02.2016
Сообщений: 30
02.11.2017, 22:29  [ТС]
По поводу, того что конструкция не работает если в предложении, подающемся на вход есть знаки препинания и в конце ставится точка,про эту конструкцию

Python
1
2
3
>>> " ".join(set('aaa bbb aaa ccc'.split()))
'aaa ccc bbb'
>>>
0
 Аватар для Semen-Semenich
5237 / 3481 / 1176
Регистрация: 21.03.2016
Сообщений: 8,310
02.11.2017, 22:36
Цитата Сообщение от Ghost48624 Посмотреть сообщение
Можно ли сделать так, чтобы удалялось только слово-повтор
а какое считать оригиналом а какое повтором?
0
0 / 0 / 0
Регистрация: 11.02.2016
Сообщений: 30
02.11.2017, 22:40  [ТС]
Оригинал- которое встречается первым
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
02.11.2017, 22:40
Помогаю со студенческими работами здесь

Удалить из сообщения все повторяющиеся слова (без учета регистра)
Приветствую! Очень нужна помощь, не могу разобраться. Надо написать программу, где нужно удалить из сообщения все повторяющиеся слова...

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

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

Удалить из сообщения все повторяющиеся слова (без учета регистра) кроме первого вхождения
Здравствуйте, подскажите, что не так Использую для удаления one = string.Join(&quot; &quot;, one.Split(' ').Distinct()); но выводит...

Удалить из сообщения все повторяющиеся слова (без учета регистра) кроме первого вхождения
1. Удалить из сообщения все повторяющиеся слова (без учета регистра) кроме первого вхождения. private void button2_Click(object sender,...


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
Настройки VS Code
Loafer 13.04.2026
{ "cmake. configureOnOpen": false, "diffEditor. ignoreTrimWhitespace": true, "editor. guides. bracketPairs": "active", "extensions. ignoreRecommendations": true, . . .
Оптимизация кода на разграничение прав доступа к элементам формы
Maks 13.04.2026
Алгоритм из решения ниже реализован на нетиповом документе, разработанного в конфигурации КА2. Задачи, как таковой, поставлено не было, проделанное ниже исключительно моя инициатива. Было так:. . .
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: реализовать контроль корректности заполнения дат назначения. . .
Архитектура слоя интернета для сервера-слоя.
Hrethgir 11.04.2026
В продолжение https:/ / www. cyberforum. ru/ blogs/ 223907/ 10860. html Знаешь что я подумал? Раз мы все источники пишем в голове ветки, то ничего не мешает добавить в голову такой источник, который сам. . .
Подстановка значения реквизита справочника в табличную часть документа
Maks 10.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: при выборе сотрудника (справочник Сотрудники) в ТЧ документа. . .
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях. Задача: при копировании документа очищать определенные реквизиты и табличную. . .
модель ЗдравоСохранения 8. Подготовка к разному выполнению заданий
anaschu 08.04.2026
https:/ / github. com/ shumilovas/ med2. git main ветка * содержимое блока дэлэй из старой модели теперь внутри зайца новой модели 8ATzM_2aurI
Блокировка документа от изменений, если он открыт у другого пользователя
Maks 08.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в конфигурации КА2. Задача: запретить редактирование документа, если он открыт у другого пользователя. / / . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru