用python写迭代器实现学生管理系统中的学生信息访问
时间: 2023-12-15 13:04:08 浏览: 10
很高兴回答你的问题!实现学生管理系统中的学生信息访问,我们可以定义一个Student类和一个StudentsIterator类,通过迭代器遍历学生信息。如下所示:
``` python
class Student:
def __init__(self, name, age, gender, grade):
self.name = name
self.age = age
self.gender = gender
self.grade = grade
class StudentsIterator:
def __init__(self, students):
self.students = students
self.index = 0
def __next__(self):
if self.index >= len(self.students):
raise StopIteration
student = self.students[self.index]
self.index += 1
return student
class Students:
def __init__(self):
self.students = []
def add_student(self, student):
self.students.append(student)
def __iter__(self):
return StudentsIterator(self.students)
# example usage
students = Students()
students.add_student(Student("Alice", 20, "Female", 90))
students.add_student(Student("Bob", 19, "Male", 85))
for student in students:
print(student.name)
```
希望这个例子能够帮到你!如果你还有问题,可以继续问我哦!