Category Archives: Python

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

Автор Itworkroom

Создание телефонного справочника на 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()

(далее…)