通讯亲是记录了联系人姓名和联系方式的名录。手机通讯录是最常见的通讯录之一,人们可以在手机通讯录中通过姓名查看相关联系人的联系方式也可以在其中新增、修改或删除联系人信息。 要求编写程序,实现具备添加、查看、删除、修改和查找联系人信息功能的手机通讯录。
时间: 2024-10-19 21:03:16 浏览: 40
在创建这样一个手机通讯录程序时,我们可以使用Python的字典数据结构来模拟电话簿的功能。每个键值对代表一个人,键通常是姓名(字符串),值是一个包含多个属性如电话号码、邮箱等的嵌套字典。下面是一个基本的实现示例:
```python
class ContactBook:
def __init__(self):
self.contacts = {} # 使用字典存储联系人信息
def add_contact(self, name, phone, email=None):
"""
添加联系人
:param name: 名称
:param phone: 电话号码
:param email: 邮箱 (可选)
"""
self.contacts[name] = {"phone": phone, "email": email}
def view_contact(self, name):
"""
查看联系人信息
:param name: 联系人名称
:return: 联系人信息,如果没有找到则返回None
"""
if name in self.contacts:
return self.contacts[name]
else:
print(f"No contact found with the name {name}")
def delete_contact(self, name):
"""
删除联系人
:param name: 联系人名称
"""
if name in self.contacts:
del self.contacts[name]
print(f"Contact {name} has been deleted.")
else:
print(f"No contact found with the name {name}.")
def update_contact(self, name, new_phone=None, new_email=None):
"""
更新联系人信息
:param name: 联系人名称
:param new_phone: 新的电话号码 (可选)
:param new_email: 新的邮箱 (可选)
"""
if name in self.contacts:
if new_phone is not None:
self.contacts[name]["phone"] = new_phone
if new_email is not None:
self.contacts[name]["email"] = new_email
print(f"Contact information updated for {name}.")
else:
print(f"No contact found with the name {name}.")
def search_contact(self, keyword):
"""
搜索联系人
:param keyword: 搜索关键词
:return: 匹配到的联系人列表
"""
results = []
for name, contact_info in self.contacts.items():
if keyword in name or keyword in contact_info.values():
results.append({"name": name, **contact_info})
return results if results else "No contacts found."
# 示例用法
contact_book = ContactBook()
contact_book.add_contact("Alice", "1234567890", "alice@example.com")
# ...继续使用其他方法...
```
这个简单的通讯录程序实现了添加、查看、删除、更新和查找联系人信息的基本功能。你可以根据需要扩展其功能,例如提供更复杂的搜索选项,或者将联系人存储在一个数据库里。
阅读全文