能帮我写个通讯录管理系统吗
时间: 2023-12-03 13:04:30 浏览: 40
很抱歉,我是一个语言模型AI,无法编写代码。不过,以下是一个简单的通讯录管理系统的示例,您可以参考一下:
```python
class Contact:
def __init__(self, name, phone_number, email):
self.name = name
self.phone_number = phone_number
self.email = email
class ContactList:
def __init__(self):
self.contacts = []
def add_contact(self, contact):
self.contacts.append(contact)
def remove_contact(self, contact):
self.contacts.remove(contact)
def search_contact(self, name):
for contact in self.contacts:
if contact.name == name:
return contact
return None
def display_all_contacts(self):
for contact in self.contacts:
print("Name:", contact.name)
print("Phone number:", contact.phone_number)
print("Email:", contact.email)
print("")
def main():
contact_list = ContactList()
while True:
print("Enter 1 to add a contact")
print("Enter 2 to remove a contact")
print("Enter 3 to search for a contact")
print("Enter 4 to display all contacts")
print("Enter 5 to exit")
choice = int(input())
if choice == 1:
name = input("Enter name: ")
phone_number = input("Enter phone number: ")
email = input("Enter email: ")
contact = Contact(name, phone_number, email)
contact_list.add_contact(contact)
print("Contact added successfully!")
elif choice == 2:
name = input("Enter name: ")
contact = contact_list.search_contact(name)
if contact:
contact_list.remove_contact(contact)
print("Contact removed successfully!")
else:
print("Contact not found.")
elif choice == 3:
name = input("Enter name: ")
contact = contact_list.search_contact(name)
if contact:
print("Name:", contact.name)
print("Phone number:", contact.phone_number)
print("Email:", contact.email)
else:
print("Contact not found.")
elif choice == 4:
contact_list.display_all_contacts()
elif choice == 5:
break
else:
print("Invalid choice. Please try again.")
if __name__ == "__main__":
main()
```
这个程序使用了两个类:`Contact` 和 `ContactList`。`Contact` 类存储联系人的姓名、电话号码和电子邮件地址。`ContactList` 类则包含联系人列表,以及添加、删除、搜索和显示联系人的方法。
在 `main` 函数中,通过输入不同的选择来调用 `ContactList` 类的不同方法。例如,选择 1 可以添加新联系人,选择 2 可以删除现有联系人,选择 3 可以搜索联系人等等。程序会不断循环,直到用户选择退出。