-31 / 9 / 0
Регистрация: 29.12.2018
Сообщений: 214
1

Найти все слова - анаграммы

08.04.2019, 19:15. Показов 6889. Ответов 2
Метки нет (Все метки)

Ваша задача — выписать все слова, которые являются анаграммами друг для друга, например «замок» и «мазок». Проверка слов должна быть регистронезависимой. Слова, для которых анаграммой является только оно само, выписывать не нужно, даже если это слово встречается в тексте в разном регистре.

Формат ввода
В первой строке идёт целое число n (1 ≤ n ≤ 100 000), количество исходных слов.

Далее следует n слов, по одному слову в строке, слова могут идти в разном регистре!

Формат вывода
В одной строке должны идти слова, которые являются анаграммами друг для друга, в нижнем регистре, через пробел. Порядок слов — лексикографический (как в словаре). Порядок строк так же лексикографический.

Пример
Ввод
11
окорок
петлей
Плетей
рококо
теплей
Тишь
ТОМНО
тонко
тонок
тоном
шить
Вывод
окорок рококо
петлей плетей теплей
тишь шить
томно тоном
тонко тонок

вот код и он почему-то не работает, помогите пожалуйста исправить

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
25
26
27
28
29
30
31
32
33
def test(word1, word2):
    a1 = list(word1)
    a2 = list(word2)
    if set(a1) == set(a2):
        return True
    else:
        return False
 
 
n = int(input())
 
words = []
for _ in range(n):
    word = input().lower()
    if not word in words:
        words.append(word)
 
words = sorted(words, key=lambda w: w)
 
while len(words) > 0:
    w = [words.pop(0)]
 
    k = 0
    while k < len(words):
        word2 = words[k]
 
        if test(w[0], word2):
            w.append(word2)
            words.remove(word2)
        else:
            k += 1
 
    if len(w) > 1: print(*w)
__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
08.04.2019, 19:15
Ответы с готовыми решениями:

Напечатать все слова, отличные от последнего слова, предварительно удалив из таких слов первую букву
Программа. Дана последовательность, содержащая от 2 до 20 слов, в каждом из которых от 2 до 10...

Напечатать все слова, отличные от последнего слова
Дана последовательность, содержащая от 2 до 30 слов, в каждом из которых от 2 до 10 латинских...

Найти в тексте все "слова", состоящие только из цифр
Некий математик Василий решил провести гуманитарно-математическое (очень странное) исследование. ...

Найти все слова, в которых буква "а" входит не менее двух раз
Дан текст. Найти все слова, в которых буква &quot;а&quot; входит не мее двух раз. Дан текст. Найти самую...

2
120 / 99 / 79
Регистрация: 30.11.2017
Сообщений: 230
08.04.2019, 22:04 2
Лучший ответ Сообщение было отмечено JduNona как решение

Решение

Найти слова, которые являются анаграммами друг для друга
Ваша задача, и на неё есть решение. Ваш код тоже работает, вывод правильный.
1
-31 / 9 / 0
Регистрация: 29.12.2018
Сообщений: 214
09.04.2019, 16:33  [ТС] 3
благодарю
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
09.04.2019, 16:33
Помогаю со студенческими работами здесь

Дано предложение. Найти в нем все симметричные слова
Дано предложение. Найти в нем все симметричные слова.

В файле найти все слова, начинающиеся на заданную букву
Есть файл, в него записан текст, нужно найти все слова начинающихся на букву(вводит пользователь) и...

Найти в тексте все слова анаграммы
Кто может плиз.. Найти в тексте все слова анаграммы.

Найти все анаграммы (слова, отличающиеся только порядком букв) в заданном файле
Здравствуйте! Я закончил вуз и хочу устроиться стажером C#. В университете мы выполняли простые...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru