Menu
CoddyTech

编辑联系人

本课属于 Coddy Python 学习旅程的“逻辑与流程”单元。第 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!")

逻辑与流程中的所有课

自己练习: Python 在线编译器