Простой телефонный справочник на Python
Создание телефонного справочника на Python — это отличный способ практиковаться в работе с файлами, списками, словарями и функциями. В этом примере мы создадим простую программу, которая позволяет добавлять, удалять, редактировать и искать контакты в телефонном справочнике. Данные будут сохраняться в текстовом файле.
Код Программы “Телефонный Справочник”
# Телефонный справочник
# Импортируем необходимые модули
import os
import json
# Путь к файлу, где будут храниться контакты
FILE_PATH = "phonebook.json"
# Загрузка данных из файла
def load_phonebook():
    if os.path.exists(FILE_PATH):
        with open(FILE_PATH, "r", encoding="utf-8") as file:
            return json.load(file)
    return {}
# Сохранение данных в файл
def save_phonebook(phonebook):
    with open(FILE_PATH, "w", encoding="utf-8") as file:
        json.dump(phonebook, file, ensure_ascii=False, indent=4)
# Отображение всех контактов
def show_contacts(phonebook):
    if not phonebook:
        print("Справочник пуст.")
    else:
        print("Телефонный справочник:")
        for name, number in phonebook.items():
            print(f"{name}: {number}")
# Добавление нового контакта
def add_contact(phonebook):
    name = input("Введите имя: ")
    number = input("Введите номер телефона: ")
    phonebook[name] = number
    save_phonebook(phonebook)
    print(f"Контакт {name} добавлен.")
# Удаление контакта
def delete_contact(phonebook):
    name = input("Введите имя контакта для удаления: ")
    if name in phonebook:
        del phonebook[name]
        save_phonebook(phonebook)
        print(f"Контакт {name} удалён.")
    else:
        print("Контакт не найден.")
# Редактирование контакта
def edit_contact(phonebook):
    name = input("Введите имя контакта для редактирования: ")
    if name in phonebook:
        new_number = input("Введите новый номер телефона: ")
        phonebook[name] = new_number
        save_phonebook(phonebook)
        print(f"Контакт {name} обновлён.")
    else:
        print("Контакт не найден.")
# Поиск контакта
def find_contact(phonebook):
    name = input("Введите имя для поиска: ")
    if name in phonebook:
        print(f"Номер телефона: {phonebook[name]}")
    else:
        print("Контакт не найден.")
# Основная функция программы
def main():
    phonebook = load_phonebook()
    while True:
        print("\nТелефонный справочник")
        print("1. Показать все контакты")
        print("2. Добавить контакт")
        print("3. Удалить контакт")
        print("4. Редактировать контакт")
        print("5. Найти контакт")
        print("6. Выйти")
        choice = input("Выберите действие: ")
        if choice == "1":
            show_contacts(phonebook)
        elif choice == "2":
            add_contact(phonebook)
        elif choice == "3":
            delete_contact(phonebook)
        elif choice == "4":
            edit_contact(phonebook)
        elif choice == "5":
            find_contact(phonebook)
        elif choice == "6":
            print("До свидания!")
            break
        else:
            print("Неверный выбор. Попробуйте снова.")
# Запуск программы
if __name__ == "__main__":
    main()
Объяснение Кода
- Загрузка и сохранение данных:
- Данные справочника хранятся в файле phonebook.jsonв формате JSON.
- Функции load_phonebook()иsave_phonebook()используются для загрузки и сохранения данных.
 
- Данные справочника хранятся в файле 
- Основные функции:
- show_contacts(phonebook): Отображает все контакты из справочника.
- add_contact(phonebook): Добавляет новый контакт в справочник.
- delete_contact(phonebook): Удаляет контакт по имени.
- edit_contact(phonebook): Редактирует номер телефона для существующего контакта.
- find_contact(phonebook): Ищет контакт по имени и выводит его номер телефона.
 
- Интерфейс:
- Программа предлагает пользователю выбрать действие через текстовое меню.
- В зависимости от выбора выполняется соответствующая функция.
 
- Формат данных:
- Справочник хранится в виде словаря, где ключ — имя контакта, а значение — номер телефона.
 
Пример Работы Программы
- Создание контакта:
Выберите действие: 2 Введите имя: Иван Введите номер телефона: 123-45-67 Контакт Иван добавлен.
- Поиск контакта:
Выберите действие: 5 Введите имя для поиска: Иван Номер телефона: 123-45-67
- Редактирование контакта:
Выберите действие: 4 Введите имя контакта для редактирования: Иван Введите новый номер телефона: 987-65-43 Контакт Иван обновлён.
- Удаление контакта:
Выберите действие: 3 Введите имя контакта для удаления: Иван Контакт Иван удалён.
Эта программа — простой телефонный справочник на Python. Она позволяет добавлять, удалять, редактировать и искать контакты, а также сохраняет данные в файл для дальнейшего использования. Вы можете расширить её функциональность, добавив, например, проверку корректности номеров телефонов или поддержку нескольких номеров для одного контакта.
 
	
			
0