поиск слов в тексте по набору введенных букв
по набору введенных букв
промт >
есть текст - текст.txt
я ввожу набор букв
например -> простотакчтоили
и далее нужно найти слова в тексте txt в которых есть 3-5 букв
из того набора что я ввёл через input
затем вывести список найденных слов
Вот простой пример решения на Python для вашей задачи.
Я предполагаю, что файл текст.txt находится в той же папке, что и скрипт, и содержит текст на русском ( или любом языке).
Код учитывает регистр (преобразует всё в нижний для удобства), разделяет текст
на слова с помощью регулярных выражений (чтобы игнорировать пунктуацию), и проверяет, сколько букв в каждом слове совпадает с введённым набором букв.
Если совпадений от 3 до 5 — слово добавляется в список.
некоторые уточнения этой версии кода:
Набор букв: Введённая строка рассматривается как множество уникальных букв (повторы игнорируются для подсчёта совпадений).
Например, для "простотакчтоили" набор будет {п, р, о, с, т, а, к, ч, и, л}.
Подсчёт: Для каждого слова считаем количество букв, которые есть в наборе (включая повторяющиеся буквы в слове, если они совпадают). Например, в слове "потом" (буквы: п, о, т, о, м) совпадает 4 буквы (п, о, т, о).
Слова: Разделяем текст по словам (буквы, цифры, апострофы), игнорируя пунктуацию.
Регистр: Всё приводится к нижнему регистру для простоты.
Python:
import re
# Читаем файл текст.txt
with open('текст.txt', 'r', encoding='utf-8') as f:
text = f.read()
# Получаем набор букв от пользователя
input_letters = input("Введите набор букв (например, простотакчтоили): ").lower()
# Преобразуем набор в множество уникальных букв
letter_set = set(input_letters)
# Разделяем текст на слова (в нижнем регистре, игнорируя пунктуацию)
words = re.findall(r'\b\w+\b', text.lower())
# Ищем слова, где от 3 до 5 букв совпадают с набором
found_words = []
for word in words:
# Считаем количество совпадений (каждая буква в слове, если она в наборе)
count = sum(1 for char in word if char in letter_set)
if 3 <= count <= 5:
found_words.append(word)
# Выводим результат
if found_words:
print("Найденные слова:")
for word in found_words:
print(f"- {word}")
else:
print("Нет слов, соответствующих критериям.")
Найти 01 02 03 04 05 06 00 >
Как запустить:
Сохраните код в файл, например, finder.py.
Создайте или используйте файл текст.txt с вашим текстом (например, "Это простой текст для примера. Простота и красота.").
Запустите скрипт: python finder.py.
Введите набор букв, например, "простотакчтоили".
Получите список слов.
Пример работы:
Текст в текст.txt: "Простота — это когда ничего лишнего. Красота в простоте."
Ввод: "простотакчтоили"
Набор букв: {п, р, о, с, т, а, к, ч, и, л}
Найденные слова (примерно): "простота" (п, р, о, с, т, о, т, а — совпадений: 8, но если короткое слово, как "это" — э, т, о: т, о — 2, не подходит; "простоте" — аналогично). Реальный вывод зависит от текста.
Если текст большой, список может быть длинным — можно добавить сортировку или лимит. Если нужны доработки (например, учитывать регистр или другие правила), дайте знать
Свидетельство о публикации №125100907974