Files
dz/solutions/69dd4221f309a98be0006b2e_сырой_текст_задания___плоская_карточка

Сырой текст задания → плоская карточка

Описание проекта

Проект предназначен для преобразования сырого текста (например, из файла .txt или md) в плоскую карточку – компактный формат, пригодный для импорта в системы обучения, флеш-карточки и т.п.
Ключевая идея: взять исходный текст задания, разбить его на логические части (вопросы/ответы), добавить метаданные (теги, уровень сложности) и вывести результат в виде простого CSV‑файла.

Важно – проект не содержит графического интерфейса. Всё делается через командную строку.

Структура репозитория

.
├── src/
│   ├── main.py          # точка входа, обрабатывает CLI
│   └── processor.py     # логика преобразования текста в карточки
├── tests/               # unit‑тесты (необязательно)
├── requirements.txt     # зависимости проекта
└── README.md

Установка зависимостей

# Создайте виртуальное окружение (рекомендуется)
python -m venv .venv
source .venv/bin/activate   # Windows: .\.venv\Scripts\activate

# Установите зависимости из файла requirements.txt
pip install -r requirements.txt

requirements.txt содержит только стандартные библиотеки, но если вы захотите добавить поддержку Markdown‑парсинга или NLP‑модулей – просто добавьте нужный пакет.

Запуск проекта

1. Преобразование одного файла

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/, можно использовать цикл:

for f in tasks/*.txt; do
    python src/main.py --input "$f" \
                       --output "cards/$(basename "${f%.*}").csv" \
                       --tags math,algebra
done

3. Проверка работы

После выполнения вы получите CSV‑файл вида:

question,answer,tags,difficulty
"What is the derivative of x^2?","2x","math,calculus","easy"
...

Пример использования

Предположим, у вас есть файл example_task.txt со следующим содержанием:

Вопрос: Какой результат умножения 7 и 6?
Ответ: 42
Теги: математика, арифметика
Уровень сложности: средний

Запустите скрипт:

python src/main.py --input example_task.txt --output example_card.csv

Полученный CSV будет выглядеть так:

question,answer,tags,difficulty
"Какой результат умножения 7 и 6?","42","математика, арифметика","средний"

Теперь файл example_card.csv можно импортировать в любую систему флеш‑карточек (Anki, Quizlet и др.).

Тесты

Если вы хотите проверить корректность работы:

pytest tests/

(Требуется пакет pytest, добавьте его в requirements.txt при необходимости.)

Вклад

  1. Сделайте форк репозитория.
  2. Создайте ветку с вашим изменением (git checkout -b feature/…).
  3. Запуште и откройте Pull Request.

Автор: [Ваше имя]
Дата создания: 26052026