Найти - Пользователи
Полная версия: Анаграмма к слову
Начало » Python для экспертов » Анаграмма к слову
1
dendonnar
Здравствуйте форумчане!
Есть интересная задача. Нужно сделать анаграмму с поданого слова. Ниже нарисовал схему слов. Правило только в том, что буквы можно использовать только столько раз, сколько они появляются в первом слове, ну и естественно только те буквы, которые были в первом слове.

Пример в закрепе: (на всякий напишу)



talking (начальное слово, которая нам предлагает программа)
из букв этого слова я могу сделать следующие анаграммы:

king
tank
link

Вот думаю как лучше это все оформить хранить слово-ключь и возможные анаграммы в json?

А может знаете какие-то библиотеки, которые хранят в себе огромный словарь и с ним можно было бы работать например через for?

Ваш вариант?

py.user.next
dendonnar
Вот думаю как лучше это все оформить хранить слово-ключь и возможные анаграммы в json?
dendonnar
А может знаете какие-то библиотеки, которые хранят в себе огромный словарь и с ним можно было бы работать например через for?
Назовём слово, которое у тебя дано изначально и из букв которого будут составляться анаграммы, понятием <базовое слово>. У тебя есть словарь существительных. Назовём его понятием <первый словарь>. Дальше из него ты делаешь словарь из тех же слов, но с отсортированными по алфавиту буквами в каждом слове. Назовём его понятием <второй словарь>. Словарь <первый словарь> и словарь <второй словарь> логически связаны построчно через номера строк. И потом при получении слова <базовое слово> ты просто пытаешься набрать по буквам слово из словаря <второй словарь> из букв слова <базовое слово>. Если ты слово из словаря <второй словарь> из букв слова <базовое слово> набрал, значит можно взять для слова из словаря <второй словарь> соответствующее слово из словаря <первый словарь>.

dendonnar
в json?
Не, пары текстовых файлов будет достаточно.

dendonnar
может знаете какие-то библиотеки, которые хранят в себе огромный словарь
Скачай в интернете набор английских существительных. Думаю, их там 100500 штук.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB