使用Python编写个人通讯录程序。要求能够查询通讯录清单,对通讯录中的记录实现增加、删除、修改、查询操作,通讯录中至少要有三个字段:姓名、手机号码、通讯地址。使用CSV文件保存通讯录内容。采用文本界面操作,例如运行程序后显示: ==================通讯录=================== 1.显示清单 2.增加记录 3.删除记录 4.修改记录 5.查询记录 6.退出程序
时间: 2023-08-09 11:09:39 浏览: 136
好的,这是一个很好的问题。以下是一个简单的Python程序,可以实现您的要求。程序使用CSV文件保存通讯录内容,通讯录中包含三个字段:姓名、手机号码和通讯地址。程序提供了文本界面操作,包括显示清单、增加记录、删除记录、修改记录、查询记录和退出程序。
```python
import csv
def display_contacts():
with open('contacts.csv', 'r') as file:
reader = csv.reader(file)
for row in reader:
print(row)
def add_contact():
name = input('请输入姓名: ')
phone = input('请输入手机号码: ')
address = input('请输入通讯地址: ')
with open('contacts.csv', 'a', newline='') as file:
writer = csv.writer(file)
writer.writerow([name, phone, address])
print('联系人已添加')
def delete_contact():
name = input('请输入要删除的联系人姓名: ')
with open('contacts.csv', 'r') as file:
reader = csv.reader(file)
rows = list(reader)
deleted = False
with open('contacts.csv', 'w', newline='') as file:
writer = csv.writer(file)
for row in rows:
if row[0] != name:
writer.writerow(row)
else:
deleted = True
if deleted:
print('联系人已删除')
else:
print('未找到联系人')
def modify_contact():
name = input('请输入要修改的联系人姓名: ')
with open('contacts.csv', 'r') as file:
reader = csv.reader(file)
rows = list(reader)
modified = False
with open('contacts.csv', 'w', newline='') as file:
writer = csv.writer(file)
for row in rows:
if row[0] == name:
phone = input('请输入新的手机号码: ')
address = input('请输入新的通讯地址: ')
row[1] = phone
row[2] = address
modified = True
writer.writerow(row)
if modified:
print('联系人已修改')
else:
print('未找到联系人')
def search_contact():
name = input('请输入要查询的联系人姓名: ')
with open('contacts.csv', 'r') as file:
reader = csv.reader(file)
for row in reader:
if row[0] == name:
print(row)
def main():
while True:
print('==================通讯录===================')
print('1.显示清单\t2.增加记录\t3.删除记录')
print('4.修改记录\t5.查询记录\t6.退出程序')
choice = int(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('无效的操作编号')
if __name__ == '__main__':
main()
```
注意:在使用这个程序之前,您需要在同一目录下创建一个名为“contacts.csv”的CSV文件,用于保存通讯录内容。
阅读全文