diff --git a/solutions/69dd4221f309a98be0006b2e_сырой_текст_задания___плоская_карточка/README.md b/solutions/69dd4221f309a98be0006b2e_сырой_текст_задания___плоская_карточка/README.md new file mode 100644 index 0000000..0c5d0a1 --- /dev/null +++ b/solutions/69dd4221f309a98be0006b2e_сырой_текст_задания___плоская_карточка/README.md @@ -0,0 +1,118 @@ +# Сырой текст задания → плоская карточка + +## Описание проекта +Проект предназначен для преобразования **сырого текста** (например, из файла `.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 \ No newline at end of file