通讯录管理系统python,能实现添加,修改,删除,查询联系人的功能,还有联系人分组和联系人人数
时间: 2024-03-05 09:50:16 浏览: 191
好的,以下是一个可以实现添加、修改、删除、查询联系人以及联系人分组和联系人人数的通讯录管理系统Python实现:
```python
class Contact:
def __init__(self, name, phone_number, email=""):
self.name = name
self.phone_number = phone_number
self.email = email
def __repr__(self):
return f"Name: {self.name}\nPhone: {self.phone_number}\nEmail: {self.email}\n"
class ContactBook:
def __init__(self):
self.contacts = []
def add_contact(self, name, phone_number, email=""):
contact = Contact(name, phone_number, email)
self.contacts.append(contact)
def update_contact(self, name, phone_number, email=""):
for contact in self.contacts:
if name.lower() == contact.name.lower():
contact.phone_number = phone_number
contact.email = email
return True
return False
def delete_contact(self, name):
for i, contact in enumerate(self.contacts):
if name.lower() == contact.name.lower():
del self.contacts[i]
return True
return False
def search_contact(self, name):
for contact in self.contacts:
if name.lower() == contact.name.lower():
return contact
return None
def group_by_first_letter(self):
groups = {}
for contact in self.contacts:
first_letter = contact.name[0].upper()
if first_letter not in groups:
groups[first_letter] = []
groups[first_letter].append(contact)
return groups
def count_contacts(self):
return len(self.contacts)
```
以上代码实现了一个简单的通讯录管理系统,其中`Contact`类表示一个联系人,`ContactBook`类用于管理所有联系人。您可以使用以下代码来测试:
```python
contact_book = ContactBook()
# 添加联系人
contact_book.add_contact("张三", "123456789", "zhangsan@example.com")
contact_book.add_contact("李四", "987654321")
# 修改联系人
contact_book.update_contact("张三", "55555555")
contact_book.update_contact("王五", "66666666") # 不存在的联系人
# 删除联系人
contact_book.delete_contact("李四")
contact_book.delete_contact("王五") # 不存在的联系人
# 查询联系人
print(contact_book.search_contact("张三"))
print(contact_book.search_contact("王五"))
# 按姓名首字母分组
groups = contact_book.group_by_first_letter()
for letter, contacts in groups.items():
print(f"{letter}:")
for contact in contacts:
print(contact)
# 统计联系人人数
print(f"联系人人数:{contact_book.count_contacts()}")
```
希望这个示例能够满足您的需求!
阅读全文