用散列表实现一个包含至少60人的班级通讯录,联系人信息至少包含学号、姓名和电话号码,能够根据学号查找联系人。
时间: 2024-12-23 21:26:33 浏览: 21
在Python中,我们可以使用散列表(字典)数据结构来实现这个班级通讯录。字典是一种键值对的数据结构,非常适合用于快速查找,因为它的查找时间复杂度通常是O(1)。
下面是一个简单的实现例子:
```python
class ClassDirectory:
def __init__(self):
self.contacts = {} # 散列表,键是学号,值是包含姓名和电话的元组
def add_contact(self, student_id, name, phone_number):
"""
添加新的联系人信息
"""
if student_id in self.contacts:
print("学号已存在,无法添加")
else:
self.contacts[student_id] = (name, phone_number)
def find_contact_by_student_id(self, student_id):
"""
根据学号查找联系人
"""
if student_id in self.contacts:
return f"学号:{student_id}, 姓名:{self.contacts[student_id][0]}, 电话:{self.contacts[student_id][1]}"
else:
return "未找到该学生的信息"
# 使用示例
directory = ClassDirectory()
directory.add_contact('001', '张三', '13812345678')
directory.add_contact('002', '李四', '13923456789')
print(directory.find_contact_by_student_id('001')) # 查找学号为001的学生信息
```
阅读全文