Menu
Coddy logo textTech

Редактировать контакт

Часть раздела Logic & Flow путешествия по Python на Coddy — урок 20 из 78.

challenge icon

Задание

Легко

Следующим шагом будет создание функции edit_contact. Эта функция позволит пользователям обновлять данные существующего контакта в Контактной книге.


Ваша задача:

  1. Создайте функцию с именем edit_contact, которая принимает один аргумент: contact_book (словарь).
  2. Получите ввод имени контакта, который пользователь хочет отредактировать.
  3. Проверьте, существует ли имя в contact_book:
    • Если оно существует, предложите пользователю ввести новые значения для телефона, электронной почты и адреса контакта (именно в таком порядке!).
    • Если пользователь не вводит данные (нажимает Enter), сохраните текущее значение для этого поля (в этом случае вводом будет пустая строка, '').
    • Обновите информацию о контакте в словаре.
    • Выведите на печать: "Contact updated successfully!".
  4. Если контакт не существует, выведите на печать: "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