2、编写程序,实现一个简单的基于字典数据结构的通信录管理系统。系统采用JSON文件保存数据。通信录设计为字典{name:tel}。程序开始时从adressbook.json文件中读取通信录,然后显示主菜单,具体包括如下功能: (1)显示通信录清单,如果通信录字典中存在用户信息,则显示通信录清单,包括姓名和电话号码。如果通讯录中不存在任何用户,则提示通信录用户为空。 (2)查询联系人,提示用户输入姓名name,在通讯录字典中查询该键。如果存在,输出联系人信息;如果不存在,提示是否新建联系人。 (3)插入新的联系人。提示用户输入姓名name,在通讯录字典中查询该键,如果存在,提示是否更换新联系人信息;如果不存在,提示输入电话号码,并插入字典键值对。 (4)删除已有联系人,提示用户输入姓名name,在通讯录字典中查询该键,如果不存在,输出联系人不存在的提示信息,如果存在,从通讯录字典中删除键值对,并输出信息。 (5)退出,保存通讯录字典到adressbook.json中,推出循环。
时间: 2024-02-21 10:57:10 浏览: 116
通讯录管理系统 实现一个通讯录管理系统,功能包括 登录功能 系统用户管理功能 联系人管理功能 电话管理功能
好的,以下是Python实现的代码:
```python
import json
# 从JSON文件中读取通信录字典
with open('adressbook.json', 'r') as f:
address_book = json.load(f)
while True:
# 显示主菜单
print('主菜单:')
print('1. 显示通信录清单')
print('2. 查询联系人')
print('3. 插入新的联系人')
print('4. 删除已有联系人')
print('5. 退出')
choice = input('请选择操作:')
if choice == '1':
# 显示通信录清单
if address_book:
for name, tel in address_book.items():
print(name + ': ' + tel)
else:
print('通信录用户为空')
elif choice == '2':
# 查询联系人
name = input('请输入要查询的联系人姓名:')
if name in address_book:
print(name + ': ' + address_book[name])
else:
create_new = input('该联系人不存在,是否新建联系人?(Y/N)')
if create_new.lower() == 'y':
tel = input('请输入联系人电话号码:')
address_book[name] = tel
elif choice == '3':
# 插入新的联系人
name = input('请输入联系人姓名:')
if name in address_book:
update_tel = input('该联系人已存在,是否更换电话号码?(Y/N)')
if update_tel.lower() == 'y':
tel = input('请输入新的电话号码:')
address_book[name] = tel
else:
tel = input('请输入联系人电话号码:')
address_book[name] = tel
elif choice == '4':
# 删除已有联系人
name = input('请输入要删除的联系人姓名:')
if name in address_book:
del address_book[name]
print(name + '已被删除')
else:
print('该联系人不存在')
elif choice == '5':
# 退出程序,保存通讯录到JSON文件中
with open('adressbook.json', 'w') as f:
json.dump(address_book, f)
break
else:
print('输入错误,请重新选择操作')
```
代码中使用了Python的JSON模块来读写JSON文件,具体实现包括了显示通信录清单、查询联系人、插入新的联系人、删除已有联系人和退出程序等功能。
阅读全文