Редактировать контакт
Часть раздела Logic & Flow путешествия по Python на Coddy — урок 20 из 78.
Задание
ЛегкоСледующим шагом будет создание функции edit_contact. Эта функция позволит пользователям обновлять данные существующего контакта в Контактной книге.
Ваша задача:
- Создайте функцию с именем
edit_contact, которая принимает один аргумент:contact_book(словарь). - Получите ввод имени контакта, который пользователь хочет отредактировать.
- Проверьте, существует ли имя в
contact_book:- Если оно существует, предложите пользователю ввести новые значения для телефона, электронной почты и адреса контакта (именно в таком порядке!).
- Если пользователь не вводит данные (нажимает Enter), сохраните текущее значение для этого поля (в этом случае вводом будет пустая строка,
''). - Обновите информацию о контакте в словаре.
- Выведите на печать:
"Contact updated successfully!".
- Если контакт не существует, выведите на печать:
"Contact not found!".
Помните: считывайте входные данные для телефона, электронной почты и адреса только в том случае, если контакт существует в контактной книге. Если контакт не найден, немедленно выведите сообщение об ошибке, не пытаясь считывать дополнительные входные данные.
Ожидаемое поведение:
Для contact_book, содержащего:
{"Alice": {"phone": "123-456-7890", "email": "alice@example.com", "address": "123 Main St"}}Если пользователь вводит:
Alice
987-654-3210
456 Elm StОбновленный contact_book должен выглядеть так:
{"Alice": {"phone": "987-654-3210", "email": "alice@example.com", "address": "456 Elm St"}}Если пользователь вводит имя, которого не существует:
BobРезультат должен быть:
Contact not found!Попробуйте сами
def display_menu():
print("Contact Book Menu:")
print("1. Add Contact")
print("2. View Contact")
print("3. Edit Contact")
print("4. Delete Contact")
print("5. List All Contacts")
print("6. Exit")
def add_contact(contact_book):
name = input()
if name in contact_book:
print("Contact already exists!")
return
phone = input()
email = input()
address = input()
contact_book[name] = {"phone": phone, "email": email, "address": address}
print("Contact added successfully!")
def view_contact(contact_book):
name = input()
if name in contact_book:
contact = contact_book[name]
print(f"Name: {name}")
print(f"Phone: {contact['phone']}")
print(f"Email: {contact['email']}")
print(f"Address: {contact['address']}")
else:
print("Contact not found!")Все уроки раздела Logic & Flow
1Изучение переменных
КонстантыМножественное присваиваниеОбмен значениями переменныхПеременные-заполнителиОкругление чиселПриведение к списку4Приложение «Книга контактов»
Показать менюДобавить контакт7Множества. Часть 2
Математические операции. Часть 1Математические операции. Часть 2Повторение — Охота за сокровищамиПодмножества и надмножестваИтерация по множествамПовторение — Трекер турнира10Базовые генераторы списков
СинтаксисСоздание простых списковДобавление условийИспользование агрегации данныхПовторение — Дом списковПовторение — Элементы свободы13Система управления запасами
Обзор проектаДобавление товара2Словари. Часть 1
Что такое словарь?Создание словаряДоступ к значениямИзменение словарейИтоги — Менеджер рецептов5Продвинутое принятие решений
Тернарный операторПроверка вхожденияПроверка идентичностиОшибки отступовПовторение — Фильтр отпусков8Менеджер записей студентов
Обзор проектаДобавить студента11Продвинутые функции
Возврат нескольких значенийLambda-функции. Часть 1Lambda-функции. Часть 2Задача на повторение — Lambda-сортировкаРекурсивные функции. Часть 1Рекурсивные функции. Часть 2Повторение — сумма вложенного списка14Функции высшего порядка
Функция mapФункция filterПовторение — Валидатор emailПовторение — Обработчик чисел3Словари. Часть 2
Методы словарейВложенные словариПроверка наличия ключейПеребор словарей в циклеПовторение: счетчик частоты6Множества. Часть 1
Что такое множество?Основные операцииМетоды множествПовторение — удаление дубликатов9Продвинутая агрегация данных
Использование SumПоиск минимума и максимумаЭффективная сортировка данныхПовторение — Dictionary Sorter