# Contact类表示一个联系人,有姓名和电话两个属性classContact:def__init__(self, name, phone):
self.name = name
self.phone = phone
# AddressBook类表示一个通讯录,有添加、删除、更新、查找联系人以及查看联系人信息的功能classAddressBook():def__init__(self):
self.contacts =[]# 初始化一个空列表,用于存放所有联系人信息# 添加联系人,接收姓名和电话两个参数,创建Contact对象并添加到contacts列表中defadd_contact(self, name, phone):
contact = Contact(name, phone)
self.contacts.append(contact)print(f"{contact.name} added to address book.")# 删除联系人,接收一个参数表示要删除的联系人姓名defdelete_contact(self, name):# 用for循环遍历contacts列表中所有联系人,查找要删除的联系人for contact in self.contacts:# 如果找到了要删除的联系人,从contacts列表中移除该联系人if contact.name == name:
self.contacts.remove(contact)print(f"{name} removed from address book.")return# 如果没有找到要删除的联系人,打印提示消息print(f"{name} not found in address book.")# 更新联系人信息,接收两个参数,表示要更新的联系人的姓名和新的电话号码defupdate_contact(self, name, phone):# 用for循环遍历contacts列表中所有联系人,查找要更新的联系人for contact in self.contacts:# 如果找到了要更新的联系人,更新其电话号码并打印提示消息if contact.name == name:
contact.phone = phone
print(f"{name}'s phone number updated to {phone}.")return# 如果没有找到要更新的联系人,打印提示消息print(f"{name} not found in address book.")# 查查找要查找的联系人for contact in self.contacts:# 如果找到了要查找的联系人,在控制台中打印其电话号码并返回if contact.name == name:print(f"{name} found in address book with phone number {contact.phone}.")return# 如果没有找到要查找的联系人,打印提示消息print(f"{name} not found in address book.")defsearch_contact(self, name):for contact in self.contacts:if contact.name == name:print(f"{name} found in address book with phone number {contact.phone}.")returnprint(f"{name} not found in address book.")# 查看所有联系人信息defview_contacts(self):# 如果contacts列表为空,打印提示消息iflen(self.contacts)==0:print("Address book is empty.")return# 否则,用for循环遍历contacts列表中所有联系人,在控制台中打印其姓名及电话号码print("Contacts in address book:")for contact in self.contacts:print(f"{contact.name}: {contact.phone}")# 实例化一个AddressBook对象
address_book = AddressBook()# 添加两个联系人
address_book.add_contact("Alice","123-456-7890")
address_book.add_contact("Bob","234-567-8901")# 查看所有联系人信息
address_book.view_contacts()# 查找联系人信息
address_book.search_contact("Alice")# 删除一个联系人
address_book.delete_contact("Bob")# 更新一个联系人的电话号码
address_book.update_contact("Alice","111-111-1111")# 再次查找该联系人信息,此时应该能够找到
address_book.search_contact("Bob")