Menu
CoddyTech

整合应用

本课属于 Coddy Python 学习旅程的“逻辑与流程”单元。第 23 课,共 78 课。

challenge icon

挑战

简单

现在,你已经为联系人簿编写了所有独立的函数,是时候把它们组合起来,创建完整的程序了!


你的任务:

  1. 组合你编写的函数:
    • display_menu:显示菜单选项,供用户选择。
    • add_contact:向联系人簿添加新联系人。
    • view_contact:显示指定联系人的详细信息。
    • edit_contact:更新现有联系人的信息。
    • delete_contact:从联系人簿中删除联系人。
    • list_all_contacts:显示联系人簿中的所有联系人。
  2. 创建一个名为 contact_book 的字典来存储联系人。
  3. 编写一个循环,完成以下操作:
    • 使用 display_menu 显示菜单。
    • 接收用户输入的菜单选项。
    • 根据用户的选择调用相应的函数。
    • 如果用户输入的选项不在有效菜单选项中,则打印 Invalid choice. Please try again.。
    • 持续运行,直到用户选择退出程序。

预期行为:

运行程序时,它应该:

  1. 显示菜单选项,供用户选择。
  2. 通过调用相应的函数,让用户与联系人簿进行交互。
  3. 当用户输入无法识别的选项时,打印 Invalid choice. Please try again.。
  4. 当用户选择 “Exit” 选项时,正常退出程序。

这最后一步将你学到的所有知识融会贯通,帮助你创建一个功能完整的联系人簿应用程序。尽情享受将所有成果整合起来的过程吧!🎉

亲手试试

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!")

def edit_contact(contact_book):
    name = input()
    if name in contact_book:
        phone = input()
        email = input()
        address = input()

        if phone == '':
            phone = contact_book[name]['phone']
        if email == '':
            email = contact_book[name]['email']
        if address == '':
            address = contact_book[name]['address']

        contact_book[name] = {"phone": phone, "email": email, "address": address}
        print("Contact updated successfully!")
    else:
        print("Contact not found!")

def delete_contact(contact_book):
    name = input()
    if name in contact_book:
        del contact_book[name]
        print("Contact deleted successfully!")
    else:
        print("Contact not found!")

def list_all_contacts(contact_book):
    if not contact_book:
        print("No contacts available.")
    else:
        for name, details in contact_book.items():
            print(f"Name: {name}")
            print(f"Phone: {details['phone']}")
            print(f"Email: {details['email']}")
            print(f"Address: {details['address']}")
            print()  # Blank line between contacts for readability

逻辑与流程中的所有课

自己练习: Python 在线编译器