用集合做一个增删改查的学生管理系统
时间: 2023-10-12 21:07:38 浏览: 50
好的,下面是一个简单的用集合实现的学生管理系统。
```python
class Student:
def __init__(self, name, age):
self.name = name
self.age = age
def __eq__(self, other):
return self.name == other.name and self.age == other.age
def __hash__(self):
return hash((self.name, self.age))
class StudentManagementSystem:
def __init__(self):
self.students = set()
def add_student(self, name, age):
student = Student(name, age)
self.students.add(student)
def delete_student(self, name, age):
student = Student(name, age)
self.students.discard(student)
def find_student(self, name, age):
student = Student(name, age)
if student in self.students:
return student
else:
return None
def update_student(self, old_name, old_age, new_name, new_age):
old_student = Student(old_name, old_age)
new_student = Student(new_name, new_age)
if old_student in self.students:
self.students.remove(old_student)
self.students.add(new_student)
```
这个学生管理系统使用了一个 `Student` 类来表示每个学生的姓名和年龄,并且重载了 `__eq__` 和 `__hash__` 方法,以便于将其作为元素放入集合中。
`StudentManagementSystem` 类包含了四个方法:
- `add_student` 用于添加一个新的学生到集合中;
- `delete_student` 用于从集合中删除一个学生;
- `find_student` 用于查找一个学生是否存在于集合中;
- `update_student` 用于更新一个学生的姓名和年龄。
以上这些方法都接受学生的姓名和年龄作为参数,并且在需要的时候将其转换为 `Student` 对象。