Простой телефонный справочник на 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