Итоговый проект

Итоговое консольное приложение

Содержание курса

Соберите консольный менеджер заметок

В рабочей папке находится файл notes.txt. Напишите законченную программу — консольный менеджер заметок.

Используйте две синхронные структуры:

  • notes — список словарей вида {'id': int, 'text': str} в порядке добавления;
  • notes_index — словарь вида {id: text} для доступа по идентификатору.

При запуске прочитайте notes.txt через with open(..., encoding='utf-8'). Каждая непустая строка имеет формат id|text: разделяйте её только по первому символу |. Если файла нет, продолжите с пустыми структурами. Строку с идентификатором, который нельзя преобразовать в int, пропустите через try-except ValueError.

Определите функцию show_notes(notes), выводящую каждую заметку в формате [id] text.

Затем запустите while True и обрабатывайте команды:

  • 1 — запросить текст, создать заметку с id = len(notes) + 1 и добавить её в обе структуры;
  • 2 — вызвать show_notes(notes);
  • 3 — перезаписать notes.txt в режиме w, сохранив весь список по одной строке id|text;
  • 0 — так же сохранить весь список и завершить цикл через break.

Не используйте глобальные данные внутри show_notes: функция получает список параметром. Скрытая проверка подготовит входной файл и последовательность команд.

О данных в ответах

Используйте учебные данные. Не вставляйте пароли, токены, ключи доступа, паспортные и банковские данные, а также персональные данные других людей. Политика обработки данных.

РешениеPython · Python 3.12 (data: numpy, pandas, sklearn...)
Как проверяется решение

Проверяются функции и их результаты. Собственный запуск выполняет ваш код без авторских тестов. Интерактивный запуск не влияет на оценку. Лимит сессии — 5 минут, процессорного времени — 10 секунд.

Отправьте решение, чтобы увидеть результаты тестов.