使用Python编写程序,生成一个10人的个人通讯录,使用CSV文件保存通讯录内容,要求通讯录中至少要随机生成三个字段:姓名、手机号码、通讯地址,读取这个CSV文件的内容。然后编写通讯录程序,要求能够查询通讯录清单,对通讯录中的记录实现增加、删除、修改、查询操作,采用文本界面操作,例如运行程序后显示: ==================通讯录=================== 1.显示清单 2.增加记录 3.删除记录 4.修改记录 5.查询记录 6.退出程序 请输入你的选择: 用户输入1,则在屏幕上显示通讯录中的所有记录: 编号 姓名 手机号码 通讯地址 1 张三 13912345678 南京信息工程大学 2 李四 19182398187 XXXXXXXXXXXXX 3 王五 12112312312 xxxxxxxxxxxxxxx 输入2则要求用户输入姓名、电话、地址后,在通讯录中添加一条记录。输入3可以删除指定编号的记录,输入4修改指定编号的记录,输入5后根据用户输入的姓名查找并显示记录,输入6退出程序。
时间: 2023-08-06 19:23:23 浏览: 159
好的,以下是Python代码实现:
1. 生成10人随机个人通讯录并保存到CSV文件中:
```python
import csv
import random
# 随机生成10个人的通讯录并保存到CSV文件中
with open('address_book.csv', 'w', newline='') as csvfile:
fieldnames = ['编号', '姓名', '手机号码', '通讯地址']
writer = csv.DictWriter(csvfile, fieldnames=fieldnames)
writer.writeheader()
for i in range(1, 11):
name = f'用户{i}'
phone = ''.join([str(random.randint(0, 9)) for _ in range(11)])
address = f'地址{i}'
writer.writerow({'编号': i, '姓名': name, '手机号码': phone, '通讯地址': address})
```
2. 编写通讯录程序:
```python
import csv
def display_all_contacts():
# 显示所有通讯录记录
with open('address_book.csv', newline='') as csvfile:
reader = csv.DictReader(csvfile)
print('编号\t姓名\t手机号码\t通讯地址')
for row in reader:
print(f"{row['编号']}\t{row['姓名']}\t{row['手机号码']}\t{row['通讯地址']}")
def add_contact():
# 添加一条通讯录记录
name = input('请输入姓名:')
phone = input('请输入手机号码:')
address = input('请输入通讯地址:')
with open('address_book.csv', 'a', newline='') as csvfile:
writer = csv.writer(csvfile)
writer.writerow([11, name, phone, address])
def delete_contact():
# 删除一条通讯录记录
contact_id = input('请输入要删除的通讯录记录编号:')
with open('address_book.csv', 'r', newline='') as csvfile:
reader = csv.reader(csvfile)
rows = [row for row in reader]
with open('address_book.csv', 'w', newline='') as csvfile:
writer = csv.writer(csvfile)
for row in rows:
if row[0] != contact_id:
writer.writerow(row)
def modify_contact():
# 修改一条通讯录记录
contact_id =
阅读全文