帮我写一个利用线性表实现通讯录管理
时间: 2023-05-25 21:01:40 浏览: 136
A:好的,请问您需要哪些功能实现在通讯录中?
实现在线性表中的通讯录管理,我们可以考虑以下一些基本功能:
1. 添加联系人:将联系人信息添加到线性表末尾。
2. 删除联系人:根据联系人名字或者电话号码等信息,在线性表中定位到联系人位置并删除。
3. 修改联系人:根据联系人名字或者电话号码等信息,在线性表中定位到联系人位置并进行修改。
4. 查询联系人:根据联系人名字或者电话号码等信息,在线性表中定位到联系人位置并返回联系人信息。
5. 显示所有联系人:遍历线性表并将所有联系人信息按照一定格式输出。
下面是一个示例代码,可以实现上述基本功能:
```python
class Contacts:
def __init__(self):
self.contacts_list = []
# 添加联系人
def add_contact(self, name, phone):
contact = {
"name": name,
"phone": phone
}
self.contacts_list.append(contact)
# 删除联系人
def delete_contact(self, name=None, phone=None):
for contact in self.contacts_list:
if contact["name"] == name or contact["phone"] == phone:
self.contacts_list.remove(contact)
# 修改联系人
def update_contact(self, name=None, phone=None, new_name=None, new_phone=None):
for contact in self.contacts_list:
if contact["name"] == name or contact["phone"] == phone:
contact["name"] = new_name
contact["phone"] = new_phone
# 查询联系人
def search_contact(self, name=None, phone=None):
for contact in self.contacts_list:
if contact["name"] == name or contact["phone"] == phone:
return contact
return None
# 显示所有联系人
def display_all_contacts(self):
for contact in self.contacts_list:
print("Name: {} Phone: {}".format(contact["name"], contact["phone"]))
```
使用示例:
```python
# 初始化通讯录
contacts = Contacts()
# 添加联系人
contacts.add_contact("张三", "123456789")
contacts.add_contact("李四", "987654321")
# 显示所有联系人
contacts.display_all_contacts()
# 查询联系人
contact = contacts.search_contact(name="张三")
print(contact)
# 修改联系人
contacts.update_contact(name="张三", new_name="王五", new_phone="11111111")
# 查询修改后的联系人信息
contact = contacts.search_contact(name="王五")
print(contact)
# 删除联系人
contacts.delete_contact(name="李四")
# 显示所有联系人
contacts.display_all_contacts()
```
以上就是一个基本的利用线性表实现通讯录管理的示例代码。您可以根据自己的需求进行修改和扩展,使其更加符合您的实际应用场景。
阅读全文