使用Python编写个人通讯录程序。要求能够查询通讯录清单,对通讯录中的记录实现增加、删除、修改、查询操作,通讯录中至少要有三个字段:姓名、手机号码、通讯地址。使用CSV文件保存通讯录内容。采用文本界面操作,例如运行程序后显示: ==================通讯录=================== 1.显示清单 2.增加记录 3.删除记录 4.修改记录 5.查询记录 6.退出程序 请输入你的选择: 用户输入1,则在屏幕上显示通讯录中的所有记录: 编号 姓名 手机号码 通讯地址 1 张三 13912345678 南京信息工程大学 2 李四 19182398187 XXXXXXXXXXXXX 3 王五 12112312312 xxxxxxxxxxxxxxx 输入2则要求用户输入姓名、电话、地址后,在通讯录中添加一条记录。输入3可以删除指定编号的记录,输入4修改指定编号的记录,输入5后根据用户输入的姓名查找并显示记录,输入6退出程序。该程序不仅能通过姓名进行查询,还能通过手机号码进行查询。 查询数据时支持模糊查询。
时间: 2023-06-24 13:08:14 浏览: 166
以下是一个简单的Python通讯录程序,实现了增加、删除、修改、查询操作,使用CSV文件保存通讯录内容:
```python
import csv
def display_contacts():
with open('contacts.csv', mode='r', newline='') as file:
reader = csv.reader(file)
for row in reader:
print('编号:{}\t姓名:{}\t手机号码:{}\t通讯地址:{}'.format(row[0],row[1],row[2],row[3]))
def add_contact():
name = input('请输入姓名:')
phone = input('请输入手机号码:')
address = input('请输入通讯地址:')
with open('contacts.csv', mode='a', newline='') as file:
writer = csv.writer(file)
writer.writerow([get_next_id(), name, phone, address])
print('添加成功!')
def delete_contact():
id = input('请输入要删除的记录编号:')
contacts = read_csv()
for contact in contacts:
if contact[0] == id:
contacts.remove(contact)
write_csv(contacts)
print('删除成功!')
return
print('没有找到记录!')
def modify_contact():
id = input('请输入要修改的记录编号:')
contacts = read_csv()
for contact in contacts:
if contact[0] == id:
name = input('请输入姓名(原姓名:{}):'.format(contact[1]))
phone = input('请输入手机号码(原手机号码:{}):'.format(contact[2]))
address = input('请输入通讯地址(原通讯地址:{}):'.format(contact[3]))
new_contact = [id, name, phone, address]
contacts[contacts.index(contact)] = new_contact
write_csv(contacts)
print('修改成功!')
return
print('没有找到记录!')
def search_contact():
keyword = input('请输入要查询的关键字:')
contacts = read_csv()
results = []
for contact in contacts:
if keyword in contact[1] or keyword in contact[2]:
results.append(contact)
if len(results) == 0:
print('没有找到记录!')
else:
for result in results:
print('编号:{}\t姓名:{}\t手机号码:{}\t通讯地址:{}'.format(result[0],result[1],result[2],result[3]))
def get_next_id():
contacts = read_csv()
if len(contacts) == 0:
return '1'
else:
last_id = int(contacts[-1][0])
return str(last_id + 1)
def read_csv():
with open('contacts.csv', mode='r', newline='') as file:
reader = csv.reader(file)
contacts = []
for row in reader:
contacts.append(row)
return contacts
def write_csv(contacts):
with open('contacts.csv', mode='w', newline='') as file:
writer = csv.writer(file)
for contact in contacts:
writer.writerow(contact)
while True:
print('==================通讯录===================')
print('1.显示清单\t2.增加记录\t3.删除记录')
print('4.修改记录\t5.查询记录\t6.退出程序')
choice = input('请输入你的选择:')
if choice == '1':
display_contacts()
elif choice == '2':
add_contact()
elif choice == '3':
delete_contact()
elif choice == '4':
modify_contact()
elif choice == '5':
search_contact()
elif choice == '6':
break
else:
print('输入错误,请重新输入!')
```
在运行程序前,需要先创建一个名为`contacts.csv`的空文件来保存通讯录内容。
该程序实现了以下功能:
1. 显示通讯录清单
2. 增加一条通讯录记录
3. 删除一条通讯录记录
4. 修改一条通讯录记录
5. 查询符合关键字的通讯录记录
6. 退出程序
通讯录中有四个字段:编号、姓名、手机号码、通讯地址。程序使用CSV文件保存通讯录内容。
阅读全文