定义一个集合类存储学生信息(学号,姓名,身份证号),要求分别定义方法实现如下功能: 1、根据姓名查找学生信息(注意姓名可重复)
时间: 2023-08-11 14:08:27 浏览: 107
以下是一个简单的集合类示例,实现了存储学生信息和根据姓名查找学生信息的功能。
```python
class Student:
def __init__(self, id, name, id_card):
self.id = id
self.name = name
self.id_card = id_card
class StudentCollection:
def __init__(self):
self.students = []
def add_student(self, student):
self.students.append(student)
def find_students_by_name(self, name):
found_students = []
for student in self.students:
if student.name == name:
found_students.append(student)
return found_students
```
使用示例:
```python
# 创建一个学生集合
students = StudentCollection()
# 添加一些学生
students.add_student(Student("001", "张三", "330211198001010001"))
students.add_student(Student("002", "李四", "330211198002020002"))
students.add_student(Student("003", "张三", "330211198003030003"))
# 查找姓名为张三的学生
found_students = students.find_students_by_name("张三")
# 打印查找结果
for student in found_students:
print(f"学号:{student.id},姓名:{student.name},身份证号:{student.id_card}")
```
输出结果:
```
学号:001,姓名:张三,身份证号:330211198001010001
学号:003,姓名:张三,身份证号:330211198003030003
```