Skip to content

Latest commit

 

History

History

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 

README.md

Проект 8: Телефонный справочник

Консольное приложение для хранения контактов с сохранением в JSON.

🎯 Что закрепляет

  • Словари (CRUD операции)
  • Работа с JSON (dump, load)
  • Обработка ошибок (try-except, PermissionError, JSONDecodeError)
  • Функции и модульность
  • Поиск по разным полям
  • Циклы и условия

📋 Функционал

1. Добавить контакт

  • Ввод имени и номера телефона
  • Проверка на пустой ввод
  • Сохранение в файл contacts.json

2. Найти по имени

  • Поиск контакта по имени
  • Регистронезависимый поиск
  • Вывод всех найденных контактов

3. Найти по номеру

  • Поиск контакта по номеру
  • Вывод всех найденных контактов

4. Показать все контакты

  • Вывод всех сохранённых контактов

5. Выход

  • Завершение программы

🛡️ Обработка ошибок

  • Защита от ввода букв в меню
  • Проверка диапазона (1-5)
  • Проверка на пустой ввод
  • Обработка битого JSON файла
  • Обработка ошибок записи (права, место на диске)
  • Понятные сообщения об ошибках

📝 Пример работы

=============================================
Телефонный справочник
=============================================

1. Добавить контакт
2. Найти по имени
3. Найти по номеру
4. Показать все контакты
5. Выход
Выберите действие: 1
Имя контакта: Иван
Номер контакта: 1234567890
Контакт сохранен

Выберите действие: 2
Введите имя: Иван
Иван: 1234567890

Выберите действие: 3
Введите номер: 1234567890
Иван: 1234567890

Выберите действие: 4
Иван: 1234567890

🧠 Чему научился

  • Работать со словарями в реальном проекте
  • Сохранять данные в JSON
  • Обрабатывать разные типы ошибок
  • Писать универсальные функции поиска
  • Строить удобный интерфейс с меню
  • Защищать данные от повреждения

📁 Структура проекта

08_phonebook/
├── main.py # основной код программы
└── README.md # документация

🚀 Как запустить

python main.py

📅 Статус

✅ Проект готов