以下是一个使用 Python 实现的模拟手机通讯录程序: ```python # 初始化一个空的通讯录列表 contacts = [] while True: # 显示功能菜单 print("请选择功能序号:") print("(1) 添加联系人") print("(2) 查看通讯录") print("(3) 删除联系人") print("(4) 修改联系人") print("(5) 查找联系人") print("(6) 退出") # 获取用户输入的功能序号 choice = input() if choice == '1': # 添加联系人功能 name = input("请输入联系人的姓名:") phone = input("请输入联系人的手机号:") email = input("请输入联系人的邮箱:") address = input("请输入联系人的地址:") # 检查输入信息是否为空 if name and phone and email and address: # 创建一个联系人字典 contact = { 'name': name, 'phone': phone, 'email': email, 'address': address } # 将联系人添加到通讯录列表中 contacts.append(contact) print("保存成功") else: print("请输入正确信息") elif choice == '2': # 查看通讯录功能 if not contacts: print("通讯录无信息") else: # 遍历通讯录列表并打印每个联系人的信息 for contact in contacts: print(f"姓名:{contact['name']},手机号:{contact['phone']},邮箱:{contact['email']},地址:{contact['address']}") elif choice == '3': # 删除联系人功能 if not contacts: print("通讯录无信息") else: name = input("请输入要删除的联系人姓名:") found = False for contact in contacts: if contact['name'] == name: # 从通讯录列表中移除该联系人 contacts.remove(contact) print("删除成功") found = True break if not found: print("该联系人不在通讯录中") elif choice == '4': # 修改联系人功能 if not contacts: print("通讯录无信息") else: name = input("请输入要修改联系人的姓名:") found = False for contact in contacts: if contact['name'] == name: new_name = input("请输入新的姓名:") new_phone = input("请输入新的手机号:") new_email = input("请输入新的邮箱:") new_address = input("请输入新的地址:") # 更新联系人信息 contact['name'] = new_name contact['phone'] = new_phone contact['email'] = new_email contact['address'] = new_address # 打印更新后的通讯录信息 for c in contacts: print(f"姓名:{c['name']},手机号:{c['phone']},邮箱:{c['email']},地址:{c['address']}") found = True break if not found: print("该联系人不在通讯录中") elif choice == '5': # 查找联系人功能 if not contacts: print("通讯录无信息") else: name = input("请输入要查找的联系人姓名:") found = False for contact in contacts: if contact['name'] == name: # 打印该联系人的所有信息 print(f"姓名:{contact['name']},手机号:{contact['phone']},邮箱:{contact['email']},地址:{contact['address']}") found = True break if not found: print("该联系人不在通讯录中") elif choice == '6': # 退出功能 break else: print("无效的选择,请重新输入") ``` 额外需要注意的逻辑点: 1. 在添加联系人时,需要确保输入的信息都不为空,否则会提示输入正确信息,避免空数据进入通讯录。 2. 在删除、修改和查找联系人时,要先检查通讯录是否为空,若为空则直接提示无信息,避免后续不必要的查找操作。 3. 在修改联系人信息时,更新联系人信息后要重新打印通讯录,方便用户确认修改结果。 [2025-06-05 15:47:56 | AI写代码神器 | 1030点数解答]