поиск слов по первым буквам

 >  поиск слов по первым буквам
  задача для простой программы:
  пользователь вводит буквы (префикс), и программа ищет в текстовом файле (.txt) все уникальные слова, которые начинаются с этого префикса, отбрасывая повторы. Это отличная идея для скрипта на Python! Я могу помочь тебе с примером кода. Давай разберёмся шаг за шагом и напишу простой скрипт.

Что делает программа:
Запрашивает у пользователя префикс (буквы).
Читает текст из файла (например, text.txt — ты можешь заменить на свой файл).
Находит все слова, начинающиеся с введённого префикса (без учёта регистра, если хочешь, но в примере я сделаю с учётом).
Убирает дубликаты (используя множество).

Выводит результат.
Пример кода на Python:
Вот простой скрипт. Сохрани его в файл, например, word_finder.py, и запусти с помощью Python (нужен Python 3+).



import re

# Функция для поиска слов по префиксу
def find_words_starting_with_prefix(file_path, prefix):
    try:
        # Открываем файл и читаем текст
        with open(file_path, 'r', encoding='utf-8') as file:
            text = file.read()
       
        # Разбиваем текст на слова (используем регулярные выражения для учёта пунктуации)
        words = re.findall(r'\b\w+\b', text)
       
        # Преобразуем префикс в нижний регистр для сравнения
        prefix_lower = prefix.lower()
       
        # Находим уникальные слова, начинающиеся с префикса (без учёта регистра)
        matching_words = set()
        for word in words:
            if word.lower().startswith(prefix_lower):
                matching_words.add(word)
       
        # Сортируем для удобства (опционально)
        sorted_words = sorted(matching_words)
       
        return sorted_words
   
    except FileNotFoundError:
        return f"Файл '{file_path}' не найден. Проверь путь к файлу."
    except Exception as e:
        return f"Ошибка: {e}"

# Основная часть программы
if __name__ == "__main__":
    # Запрашиваем префикс у пользователя
    prefix = input("Введите буквы (префикс): ").strip()
   
    # Указываем путь к файлу (замени на свой)
    file_path = 'text.txt'  # Например, 'text.txt'
   
    # Ищем слова
    result = find_words_starting_with_prefix(file_path, prefix)
   
    if isinstance(result, list):
        if result:
            print(f"Слова, начинающиеся с '{prefix}':")
            for word in result:
                print(f"- {word}")
        else:
            print(f"Слова, начинающиеся с '{prefix}', не найдены.")
    else:
        print(result)



Как использовать:
Подготовь файл: Создай файл text.txt в той же папке, что и скрипт, и заполни его текстом. Например:
Привет, мир! Это пример текста. Программа найдёт слова по префиксу.
Запусти скрипт: Открой терминал, перейди в папку с файлом и выполни python word_finder.py.
Введи префикс: Например, введи "пр" (на русском), и программа выведет уникальные слова вроде "Привет", "программа", "поищёт" (если они есть в тексте).

Дополнительные идеи:

Учёт регистра: В коде я сделал поиск без учёта регистра (.lower()), чтобы было удобнее. Если хочешь строго по регистру, удали .lower().
Обработка ошибок: Если файл не найден, программа сообщит об этом.
Улучшения: Можно добавить опцию выбора файла или сделать программу более гибкой (например, через аргументы командной строки).

Если текст большой: Для очень больших файлов это будет работать быстро, так как мы используем множества для уникальности.
Если тебе нужно что-то изменить, добавить функции (например, поиск по нескольким префиксам или экспорт результатов в файл), или если у тебя есть конкретный текст/файл — дай знать, я помогу доработать


Рецензии