使用Python编写个人通讯录程序。要求能够查询通讯录清单,对通讯录中的记录实现增加、删除、修改、查询操作,通讯录中至少要有三个字段:姓名、手机号码、通讯地址。使用CSV文件保存通讯录内容。
时间: 2023-12-30 21:04:14 浏览: 128
好的,下面是一个简单的实现代码,供你参考:
```python
import csv
def load_contacts():
"""
读取CSV文件中的通讯录数据
"""
with open('contacts.csv', newline='') as csvfile:
reader = csv.reader(csvfile)
return [row for row in reader]
def save_contacts(contacts):
"""
将通讯录数据保存到CSV文件中
"""
with open('contacts.csv', 'w', newline='') as csvfile:
writer = csv.writer(csvfile)
writer.writerows(contacts)
def show_contacts(contacts):
"""
显示通讯录清单
"""
print('编号\t姓名\t手机号码\t通讯地址')
for i, row in enumerate(contacts):
print(f'{i+1}\t{row[0]}\t{row[1]}\t{row[2]}')
def add_contact(contacts):
"""
增加通讯录记录
"""
name = input('请输入姓名:')
phone = input('请输入手机号码:')
address = input('请输入通讯地址:')
contacts.append([name, phone, address])
save_contacts(contacts)
print('添加成功!')
def delete_contact(contacts):
"""
删除通讯录记录
"""
index = int(input('请输入要删除的记录编号:')) - 1
if index < 0 or index >= len(contacts):
print('记录编号无效!')
return
del contacts[index]
save_contacts(contacts)
print('删除成功!')
def modify_contact(contacts):
"""
修改通讯录记录
"""
index = int(input('请输入要修改的记录编号:')) - 1
if index < 0 or index >= len(contacts):
print('记录编号无效!')
return
name = input('请输入姓名:')
phone = input('请输入手机号码:')
address = input('请输入通讯地址:')
contacts[index] = [name, phone, address]
save_contacts(contacts)
print('修改成功!')
def search_contact(contacts):
"""
查询通讯录记录
"""
keyword = input('请输入要查询的关键字:')
results = []
for row in contacts:
if keyword in row:
results.append(row)
if len(results) == 0:
print('没有找到匹配的记录!')
else:
show_contacts(results)
# 主程序
contacts = load_contacts()
while True:
print('==================通讯录===================')
print('1.显示清单\t2.增加记录\t3.删除记录')
print('4.修改记录\t5.查询记录\t6.退出程序')
choice = input('请输入你的选择:')
if choice == '1':
show_contacts(contacts)
elif choice == '2':
add_contact(contacts)
elif choice == '3':
delete_contact(contacts)
elif choice == '4':
modify_contact(contacts)
elif choice == '5':
search_contact(contacts)
elif choice == '6':
break
else:
print('无效的选择,请重新输入!')
```
注意:这里使用了Python的CSV库来读写CSV文件,需要提前安装。可以通过pip安装,命令为:
```
pip install csv
```
此外,`contacts.csv`文件需要提前创建好,可以手动用Excel或其他工具创建,也可以在程序中自动创建。
阅读全文