写Python程序 基于Python的通讯录管理系统功能要求:1.提供增加,删除,修改通信录的功能2.提供单个查询,查询所有通讯录的功能;3.能够保存通讯录信息到本地文件,退出等功能。4.实现按照姓名首字母排序,或者按照特殊要求(如学号,或是工号等)排序
时间: 2024-02-27 15:58:28 浏览: 53
好的,下面是一个基于Python的通讯录管理系统的代码实现:
```python
import json
def add_contact(contacts):
name = input("请输入联系人姓名:")
phone = input("请输入联系人电话:")
email = input("请输入联系人邮箱:")
contacts[name] = {"phone":phone, "email":email}
print("联系人添加成功!")
def delete_contact(contacts):
name = input("请输入要删除的联系人姓名:")
if name in contacts:
del contacts[name]
print("联系人删除成功!")
else:
print("该联系人不存在!")
def modify_contact(contacts):
name = input("请输入要修改的联系人姓名:")
if name in contacts:
phone = input("请输入联系人电话:")
email = input("请输入联系人邮箱:")
contacts[name]["phone"] = phone
contacts[name]["email"] = email
print("联系人修改成功!")
else:
print("该联系人不存在!")
def search_contact(contacts):
name = input("请输入要查询的联系人姓名:")
if name in contacts:
print("联系人姓名:", name)
print("联系人电话:", contacts[name]["phone"])
print("联系人邮箱:", contacts[name]["email"])
else:
print("该联系人不存在!")
def search_all_contacts(contacts):
for name in sorted(contacts.keys()):
print("联系人姓名:", name)
print("联系人电话:", contacts[name]["phone"])
print("联系人邮箱:", contacts[name]["email"])
def save_contacts(contacts):
with open("contacts.json", "w") as f:
json.dump(contacts, f)
print("通讯录保存成功!")
def load_contacts():
try:
with open("contacts.json", "r") as f:
contacts = json.load(f)
except FileNotFoundError:
contacts = {}
return contacts
def sort_contacts(contacts):
sort_type = input("请选择排序方式(1.姓名 2.电话):")
if sort_type == "1":
contacts = dict(sorted(contacts.items()))
elif sort_type == "2":
contacts = dict(sorted(contacts.items(), key=lambda x:x[1]["phone"]))
else:
print("无效的选择!")
search_all_contacts(contacts)
def main():
contacts = load_contacts()
while True:
print("="*30)
print("欢迎使用通讯录管理系统")
print("1.增加联系人")
print("2.删除联系人")
print("3.修改联系人")
print("4.查询单个联系人")
print("5.查询所有联系人")
print("6.保存通讯录")
print("7.排序")
print("8.退出系统")
print("="*30)
choice = input("请输入您的选择:")
if choice == "1":
add_contact(contacts)
elif choice == "2":
delete_contact(contacts)
elif choice == "3":
modify_contact(contacts)
elif choice == "4":
search_contact(contacts)
elif choice == "5":
search_all_contacts(contacts)
elif choice == "6":
save_contacts(contacts)
elif choice == "7":
sort_contacts(contacts)
elif choice == "8":
break
else:
print("无效的选择!")
if __name__ == "__main__":
main()
```
这个程序实现了基于Python的通讯录管理系统的所有功能要求:
1. 增加联系人:使用 `add_contact()` 函数实现,将联系人的姓名、电话、邮箱保存到字典中。
2. 删除联系人:使用 `delete_contact()` 函数实现,根据输入的联系人姓名从字典中删除对应的联系人。
3. 修改联系人:使用 `modify_contact()` 函数实现,根据输入的联系人姓名修改对应联系人的电话和邮箱。
4. 单个查询:使用 `search_contact()` 函数实现,根据输入的联系人姓名查询对应联系人的信息。
5. 查询所有:使用 `search_all_contacts()` 函数实现,遍历字典中所有联系人的信息并输出。
6. 保存到本地文件:使用 `save_contacts()` 函数实现,将字典中所有联系人的信息保存到本地文件 `contacts.json` 中。
7. 排序:使用 `sort_contacts()` 函数实现,根据输入的排序方式(姓名或电话)对联系人进行排序并输出。
8. 退出:使用 `break` 语句实现,退出系统。
运行程序后,用户可以根据提示进行相应的操作。所有联系人的信息都保存在一个字典中,程序结束前可以选择将字典中的信息保存到本地文件中,下次运行程序时可以从文件中读取。
阅读全文