#手机通讯录 #场景预设:用python创建一个手机通讯录,该通讯录具有以下功能: #1.添加联系人 #2.查看通讯录 #3.删除联系人 #4.修改联系人信息 #5.查找联系人 #6.退出
时间: 2024-10-17 08:12:07 浏览: 56
在Python中,我们可以使用字典数据结构模拟一个简单的手机通讯录。下面是一个基础的设计示例:
```python
class ContactBook:
def __init__(self):
self.contacts = {} # 使用字典存储联系人,键是电话号码,值是Contact对象
class Contact:
def __init__(self, name, phone_number):
self.name = name
self.phone_number = phone_number
def add_contact(self, name, phone_number):
contact = self.Contact(name, phone_number)
self.contacts[phone_number] = contact
def view_contacts(self):
for phone_number, contact in self.contacts.items():
print(f"Name: {contact.name}, Phone: {contact.phone_number}")
def delete_contact(self, phone_number):
if phone_number in self.contacts:
del self.contacts[phone_number]
print("Contact deleted successfully.")
else:
print("Contact not found.")
def update_contact(self, old_phone_number, new_name=None, new_phone_number=None):
if old_phone_number in self.contacts:
if new_name is not None:
self.contacts[new_phone_number] = self.Contacts(new_name, new_phone_number)
del self.contacts[old_phone_number]
elif new_phone_number is not None:
self.contacts[new_phone_number] = self.contacts[old_phone_number]
del self.contacts[old_phone_number]
else:
print("Please provide either a new name or a new phone number.")
else:
print("Contact not found.")
def search_contact(self, name):
matching_contacts = [contact for contact in self.contacts.values() if contact.name == name]
if matching_contacts:
return matching_contacts
else:
return "No contacts found with that name."
# 示例使用
phone_book = ContactBook()
phone_book.add_contact("Alice", "1234567890")
phone_book.view_contacts()
# ...其他操作...
```
在这个例子中,我们首先定义了一个`ContactBook`类,内部包含一个`contacts`字典用于存储联系人。然后定义了子类`Contact`来表示单个联系人。通过一系列方法实现了添加、查看、删除、修改和搜索联系人的功能。
阅读全文