编写一个通讯录程序,在文件myNote.dat中记录朋友的姓名、年龄和电话号码,包括 以下功能: (1)添加朋友信息; (2)删除朋友信息; (3)根据姓名查询; (4)显示所有的信息; (5)在图形界面类上编写一个测试该类的程序。
时间: 2024-12-21 10:21:33 浏览: 11
为了编写一个通讯录程序,我们可以采用面向对象的设计思路,创建一个`Contact`类来存储朋友的信息,如姓名、年龄和电话号码。然后创建一个`AddressBook`类,用于管理这些联系人并提供所需的功能。以下是关键部分的代码实现:
```python
# 定义 Contact 类
class Contact:
def __init__(self, name, age, phone):
self.name = name
self.age = age
self.phone = phone
# 定义 AddressBook 类
class AddressBook:
def __init__(self):
self.contacts = []
# 添加朋友信息
def add_contact(self, contact):
self.contacts.append(contact)
# 删除朋友信息
def remove_contact(self, name):
for contact in self.contacts:
if contact.name == name:
self.contacts.remove(contact)
break
# 根据姓名查询
def search_by_name(self, name):
return [contact for contact in self.contacts if contact.name == name]
# 显示所有信息
def display_all(self):
for contact in self.contacts:
print(f"姓名: {contact.name}, 年龄: {contact.age}, 电话: {contact.phone}")
# 图形界面测试类
class GUI:
def test_address_book(self):
address_book = AddressBook()
# 测试添加、删除和查询操作...
# 模拟用户输入和交互...
pass
# 主函数
def main():
gui = GUI()
gui.test_address_book()
if __name__ == "__main__":
main()
```
在这个示例中,`GUI`类负责创建`AddressBook`实例,并对其进行操作的模拟。你可以通过构建适当的事件循环和用户界面元素(如按钮和文本框)来实现图形界面。
阅读全文