Итоговое консольное приложение
Содержание курса
Соберите консольный менеджер заметок
В рабочей папке находится файл 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: функция получает список параметром. Скрытая проверка подготовит входной файл и последовательность команд.
О данных в ответах
Используйте учебные данные. Не вставляйте пароли, токены, ключи доступа, паспортные и банковские данные, а также персональные данные других людей. Политика обработки данных.
Как проверяется решение
Проверяются функции и их результаты. Собственный запуск выполняет ваш код без авторских тестов. Интерактивный запуск не влияет на оценку. Лимит сессии — 5 минут, процессорного времени — 10 секунд.
Отправьте решение, чтобы увидеть результаты тестов.
