Давайте создадим телефонную книгу с функциональностью добавления, изменения, удаления и вывода контактов. Мы будем использовать словарь для хранения контактов, где ключом будет имя, а значением — номер телефона. Ниже представлен пример кода, который соответствует вашим требованиям:
book_phones = {
'Квам-Дамн': '-79899899889',
'Лук Скамворкер': '112',
'Петард Вейпер': '1',
'Лия Моргала': '+09998765432',
'Эдуард Скамворкер': '0'
}
def show_contact(name):
if name in book_phones:
print(f'{name}: {book_phones[name]}')
else:
print('Нет в телефонной книге.')
def add_contact(name, phone):
book_phones[name] = phone
print(f'Контакт {name} добавлен.')
def change_contact(name, new_phone):
if name in book_phones:
book_phones[name] = new_phone
print(f'Контакт {name} изменён.')
else:
print('Нет в телефонной книге.')
def delete_contact(name):
if name in book_phones:
del book_phones[name]
print(f'Контакт {name} удалён.')
else:
print('Нет в телефонной книге.')
while True:
action = int(input("Выберите действие: 1 — показать, 2 — добавить, 3 — изменить, 4 — удалить, 5 — выйти: "))
if action == 1:
name_to_show = input("Введите имя для показа: ")
show_contact(name_to_show)
elif action == 2:
name_to_add = input("Введите имя для добавления: ")
phone_to_add = input("Введите номер телефона: ")
add_contact(name_to_add, phone_to_add)
elif action == 3:
name_to_change = input("Введите имя для изменения: ")
new_phone = input("Введите новый номер телефона: ")
change_contact(name_to_change, new_phone)
elif action == 4:
name_to_delete = input("Введите имя для удаления: ")
delete_contact(name_to_delete)
elif action == 5:
break
else:
print("Некорректный ввод. Попробуйте снова.")
# Выводим обновлённую телефонную книгу
print("Телефонная книга:")
for key in book_phones:
print(f'{key}: {book_phones[key]}')
Объяснение кода:
- Словарь
book_phones: Здесь мы сохраняем все контакты. Имя — это ключ, а телефон — значение. - Функции:
show_contact(name): Проверяет наличие контакта и выводит его информацию.add_contact(name, phone): Добавляет новый контакт в словарь.change_contact(name, new_phone): Изменяет номер телефона для существующего контакта.delete_contact(name): Удаляет контакт из телефонной книги, если он существует.
- Цикл
while True: Позволяет пользователю вводить действия, пока он не решит выйти (нажав 5). - Вывод обновлённой телефонной книги: После каждого действия показывается актуальный список контактов.
Таким образом, код реализует все необходимые функции для телефонной книги, и вы можете его тестировать, чтобы убедиться в корректности работы. Удачи!