From 8a180a3b910ad0585e7b1172f9ee1f3a635f1822 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=9C=D0=B0=D1=80=D0=B8=D1=8F=20=D0=91=D0=B5=D1=80=D0=B4?= =?UTF-8?q?=D0=BD=D0=B8=D0=BA=D0=BE=D0=B2=D0=B0?= Date: Tue, 26 May 2026 16:46:52 +0000 Subject: [PATCH] =?UTF-8?q?=D1=81=D1=8B=D1=80=D0=BE=D0=B9=20=D1=82=D0=B5?= =?UTF-8?q?=D0=BA=D1=81=D1=82=20=D0=B7=D0=B0=D0=B4=D0=B0=D0=BD=D0=B8=D1=8F?= =?UTF-8?q?=20=E2=86=92=20=D0=BF=D0=BB=D0=BE=D1=81=D0=BA=D0=B0=D1=8F=20?= =?UTF-8?q?=D0=BA=D0=B0=D1=80=D1=82=D0=BE=D1=87=D0=BA=D0=B0:=20README.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../README.md | 118 ++++++++++++++++++ 1 file changed, 118 insertions(+) create mode 100644 solutions/69dd4221f309a98be0006b2e_сырой_текст_задания___плоская_карточка/README.md 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