# Сырой текст задания → плоская карточка ## Описание проекта Проект предназначен для преобразования **сырого текста** (например, из файла `.txt` или `md`) в **плоскую карточку** – компактный формат, пригодный для импорта в системы обучения, флеш-карточки и т.п. Ключевая идея: взять исходный текст задания, разбить его на логические части (вопросы/ответы), добавить метаданные (теги, уровень сложности) и вывести результат в виде простого CSV‑файла. > **Важно** – проект не содержит графического интерфейса. Всё делается через командную строку. ## Структура репозитория ``` . ├── src/ │ ├── main.py # точка входа, обрабатывает CLI │ └── processor.py # логика преобразования текста в карточки ├── tests/ # unit‑тесты (необязательно) ├── requirements.txt # зависимости проекта └── README.md ``` ## Установка зависимостей ```bash # Создайте виртуальное окружение (рекомендуется) python -m venv .venv source .venv/bin/activate # Windows: .\.venv\Scripts\activate # Установите зависимости из файла requirements.txt pip install -r requirements.txt ``` `requirements.txt` содержит только стандартные библиотеки, но если вы захотите добавить поддержку Markdown‑парсинга или NLP‑модулей – просто добавьте нужный пакет. ## Запуск проекта ### 1. Преобразование одного файла ```bash python src/main.py --input raw_task.txt --output flat_card.csv ``` - `--input` – путь к файлу с сырым текстом задания. - `--output` – куда будет сохранён CSV‑файл. #### Параметры (опциональные) | Флаг | Описание | |------|----------| | `--tags TAG1,TAG2` | Добавить теги, разделённые запятой. | | `--difficulty LEVEL` | Указать уровень сложности (`easy`, `medium`, `hard`). | ### 2. Массовый запуск Если у вас несколько файлов в каталоге `tasks/`, можно использовать цикл: ```bash for f in tasks/*.txt; do python src/main.py --input "$f" \ --output "cards/$(basename "${f%.*}").csv" \ --tags math,algebra done ``` ### 3. Проверка работы После выполнения вы получите CSV‑файл вида: ```csv question,answer,tags,difficulty "What is the derivative of x^2?","2x","math,calculus","easy" ... ``` ## Пример использования Предположим, у вас есть файл `example_task.txt` со следующим содержанием: ``` Вопрос: Какой результат умножения 7 и 6? Ответ: 42 Теги: математика, арифметика Уровень сложности: средний ``` Запустите скрипт: ```bash python src/main.py --input example_task.txt --output example_card.csv ``` Полученный CSV будет выглядеть так: ```csv question,answer,tags,difficulty "Какой результат умножения 7 и 6?","42","математика, арифметика","средний" ``` Теперь файл `example_card.csv` можно импортировать в любую систему флеш‑карточек (Anki, Quizlet и др.). ## Тесты Если вы хотите проверить корректность работы: ```bash pytest tests/ ``` (Требуется пакет `pytest`, добавьте его в `requirements.txt` при необходимости.) ## Вклад 1. Сделайте форк репозитория. 2. Создайте ветку с вашим изменением (`git checkout -b feature/…`). 3. Запуште и откройте Pull Request. --- **Автор:** *[Ваше имя]* **Дата создания:** 26‑05‑2026