使用Python编写个人通讯录程序。要求能够查询通讯录清单,对通讯录中的记录实现增加、删除、修改、查询操作,通讯录中至少要有三个字段:姓名、手机号码、通讯地址。使用CSV文件保存通讯录内容。采用文本界面操作,
时间: 2024-02-07 19:04:02 浏览: 20
好的,我可以为您提供一个Python编写的简单通讯录程序。程序使用CSV文件保存通讯录内容,可以实现增加、删除、修改、查询等操作。以下是程序代码:
```python
import csv
def main():
while True:
print("==================================")
print("欢迎使用个人通讯录管理系统")
print("1. 查询通讯录")
print("2. 增加联系人")
print("3. 删除联系人")
print("4. 修改联系人")
print("0. 退出系统")
print("==================================")
choice = input("请选择您要进行的操作:")
if choice == '1':
query()
elif choice == '2':
add()
elif choice == '3':
delete()
elif choice == '4':
modify()
elif choice == '0':
print("感谢使用,再见!")
break
else:
print("输入有误,请重新输入!")
def query():
with open('contacts.csv', 'r') as f:
reader = csv.reader(f)
print("==================================")
print("姓名\t\t手机号码\t\t通讯地址")
print("==================================")
for row in reader:
print(row[0] + "\t\t" + row[1] + "\t\t" + row[2])
print("==================================")
def add():
name = input("请输入联系人姓名:")
phone = input("请输入联系人手机号码:")
address = input("请输入联系人通讯地址:")
with open('contacts.csv', 'a', newline='') as f:
writer = csv.writer(f)
writer.writerow([name, phone, address])
print("联系人添加成功!")
def delete():
name = input("请输入要删除的联系人姓名:")
with open('contacts.csv', 'r') as f:
reader = csv.reader(f)
rows = [row for row in reader if row[0] != name]
with open('contacts.csv', 'w', newline='') as f:
writer = csv.writer(f)
for row in rows:
writer.writerow(row)
print("联系人删除成功!")
def modify():
name = input("请输入要修改的联系人姓名:")
with open('contacts.csv', 'r') as f:
reader = csv.reader(f)
rows = [row for row in reader if row[0] == name]
if len(rows) == 0:
print("该联系人不存在!")
return
new_phone = input("请输入新的手机号码(按回车键保持原值):")
new_address = input("请输入新的通讯地址(按回车键保持原值):")
if new_phone == "":
new_phone = rows[0][1]
if new_address == "":
new_address = rows[0][2]
with open('contacts.csv', 'w', newline='') as f:
writer = csv.writer(f)
for row in rows:
if row[0] == name:
writer.writerow([name, new_phone, new_address])
else:
writer.writerow(row)
print("联系人修改成功!")
if __name__ == '__main__':
main()
```
在程序运行时,用户可以通过输入数字选择要进行的操作。查询通讯录会读取CSV文件中的所有记录并输出;增加联系人会要求用户输入姓名、手机号码和通讯地址,并将其保存到CSV文件中;删除联系人会要求用户输入要删除的联系人姓名,并在CSV文件中删除该记录;修改联系人会要求用户输入要修改的联系人姓名以及新的手机号码和通讯地址(若不需要修改则直接按回车键),并在CSV文件中修改相应记录。
请注意,本程序仅作为学习和参考之用,实际使用中需要根据具体需求进行修改和完善。