使用Python编写个人通讯录程序。要求能够查询通讯录清单,对通讯录中的记录实现增加、删除、修改、查询操作,通讯录中至少要有三个字段:姓名、手机号码、通讯地址。使用CSV文件保存通讯录内容。
时间: 2023-12-17 21:03:10 浏览: 131
Python编写通讯录通过数据库存储实现模糊查询功能
以下是使用Python编写的个人通讯录程序,它可以查询通讯录清单,对通讯录中的记录实现增加、删除、修改、查询操作,通讯录中包括姓名、手机号码和通讯地址,并且使用CSV文件保存通讯录内容。
```python
import csv
def load_contacts():
contacts = []
with open('contacts.csv', 'r') as file:
reader = csv.reader(file)
for row in reader:
contacts.append(row)
return contacts
def save_contacts(contacts):
with open('contacts.csv', 'w', newline='') as file:
writer = csv.writer(file)
writer.writerows(contacts)
def find_contact(contacts, name):
for i, contact in enumerate(contacts):
if contact[0] == name:
return i, contact
return None, None
def add_contact(contacts):
name = input("请输入姓名:")
phone = input("请输入手机号:")
address = input("请输入通讯地址:")
contact = [name, phone, address]
contacts.append(contact)
save_contacts(contacts)
print("添加联系人成功!")
def delete_contact(contacts):
name = input("请输入要删除的联系人姓名:")
i, contact = find_contact(contacts, name)
if contact:
contacts.pop(i)
save_contacts(contacts)
print("删除联系人成功!")
else:
print("找不到该联系人!")
def modify_contact(contacts):
name = input("请输入要修改的联系人姓名:")
i, contact = find_contact(contacts, name)
if contact:
phone = input("请输入新的手机号:")
address = input("请输入新的通讯地址:")
contact[1] = phone
contact[2] = address
save_contacts(contacts)
print("修改联系人成功!")
else:
print("找不到该联系人!")
def search_contact(contacts):
name = input("请输入要查询的联系人姓名:")
i, contact = find_contact(contacts, name)
if contact:
print(f"姓名:{contact[0]}\n手机号:{contact[1]}\n通讯地址:{contact[2]}")
else:
print("找不到该联系人!")
def list_contacts(contacts):
for contact in contacts:
print(f"姓名:{contact[0]}\n手机号:{contact[1]}\n通讯地址:{contact[2]}\n")
def main():
contacts = load_contacts()
while True:
print("欢迎使用个人通讯录程序!")
print("1.添加联系人")
print("2.删除联系人")
print("3.修改联系人")
print("4.查询联系人")
print("5.列出所有联系人")
print("6.退出程序")
choice = input("请输入您的选择:")
if choice == '1':
add_contact(contacts)
elif choice == '2':
delete_contact(contacts)
elif choice == '3':
modify_contact(contacts)
elif choice == '4':
search_contact(contacts)
elif choice == '5':
list_contacts(contacts)
elif choice == '6':
break
else:
print("输入错误,请重新输入!")
if __name__ == '__main__':
main()
```
在这个程序中,我们使用了Python的CSV模块来读取和保存通讯录内容。程序包括以下功能:
- `load_contacts`函数:读取CSV文件并返回通讯录列表。
- `save_contacts`函数:将通讯录列表保存到CSV文件中。
- `find_contact`函数:在通讯录列表中查找指定姓名的联系人。
- `add_contact`函数:添加新的联系人到通讯录列表中。
- `delete_contact`函数:从通讯录列表中删除指定姓名的联系人。
- `modify_contact`函数:修改通讯录列表中指定姓名的联系人的手机号和通讯地址。
- `search_contact`函数:查询通讯录列表中指定姓名的联系人的信息。
- `list_contacts`函数:列出所有通讯录列表中的联系人信息。
- `main`函数:程序主函数,提供用户菜单,根据用户选择执行相应的功能。
这个程序使用CSV文件保存通讯录内容,可以保证数据的持久性和可移植性。
阅读全文