整合应用
本课属于 Coddy Python 学习旅程的“逻辑与流程”单元。第 23 课,共 78 课。
挑战
简单现在,你已经为联系人簿编写了所有独立的函数,是时候把它们组合起来,创建完整的程序了!
你的任务:
- 组合你编写的函数:
display_menu:显示菜单选项,供用户选择。add_contact:向联系人簿添加新联系人。view_contact:显示指定联系人的详细信息。edit_contact:更新现有联系人的信息。delete_contact:从联系人簿中删除联系人。list_all_contacts:显示联系人簿中的所有联系人。
- 创建一个名为
contact_book的字典来存储联系人。 - 编写一个循环,完成以下操作:
- 使用
display_menu显示菜单。 - 接收用户输入的菜单选项。
- 根据用户的选择调用相应的函数。
- 如果用户输入的选项不在有效菜单选项中,则打印
Invalid choice. Please try again.。 - 持续运行,直到用户选择退出程序。
- 使用
预期行为:
运行程序时,它应该:
- 显示菜单选项,供用户选择。
- 通过调用相应的函数,让用户与联系人簿进行交互。
- 当用户输入无法识别的选项时,打印 Invalid choice. Please try again.。
- 当用户选择 “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 在线编译器