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

Сырой текст → плоская карточка

Простой скрипт, который берёт сырой текст задания (например, из PDF‑файла) и преобразует его в плоскую карточку – готовый к использованию шаблон для обучения.
В проекте реализованы два основных файла:

Файл Что делает
extract_text.py Извлекает текст из PDF‑файла (или другого источника) и сохраняет его в .txt.
flatten_card.py Читает сырой текст, разбивает его на логические блоки (описание, условия, примеры), форматирует и выводит «плоскую карточку» в консоль или в файл.

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

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

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

requirements.txt содержит:

PyPDF2==3.0.1
python-docx==0.8.11  # если понадобится работа с DOCX

🚀 Запуск файлов

1️⃣ Извлечение текста из PDF

python extract_text.py --input path/to/assignment.pdf --output assignment.txt
  • --input – путь к исходному файлу (PDF, DOCX и т.д.).
  • --output – куда сохранить извлечённый текст.

2️⃣ Форматирование в плоскую карточку

python flatten_card.py --input assignment.txt --output card.txt
  • --input – файл с сырым текстом.
  • --output – путь, где будет сохранена «плоская» карточка.
    Если опция не указана, результат выводится в консоль.

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

Исходный PDF (assignment.pdf)

Задание: Написать программу, которая считает сумму двух чисел.
Условие:
- Вводятся два целых числа.
- Вывести их сумму.
Пример:
Ввод: 3 5
Вывод: 8

Команды

python extract_text.py --input assignment.pdf --output raw.txt
python flatten_card.py --input raw.txt --output card.txt

Полученная карточка (card.txt)

Задание:
Написать программу, которая считает сумму двух чисел.

Условие:
- Вводятся два целых числа.
- Вывести их сумму.

Пример:
Ввод: 3 5
Вывод: 8

📚 Что дальше?

  • Добавить поддержку Markdown‑форматирования (--format markdown).
  • Интегрировать с Anki для автоматической импорта карточек.
  • Расширить парсер, чтобы корректно обрабатывать таблицы и списки.

Контрибьюторы

Если хотите помочь – откройте issue или pull request.
Пожалуйста, соблюдайте стиль кода из PEP8 и добавляйте тесты в папку tests/.


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