编写一个学生记录处理程序。学生记录可以用以下类表示:
时间: 2023-06-20 16:06:20 浏览: 106
好的,下面是一个示例的学生记录处理程序的代码:
```python
class Student:
def __init__(self, name, id_num, major, gpa):
self.name = name
self.id_num = id_num
self.major = major
self.gpa = gpa
def __str__(self):
return f"{self.name} ({self.id_num}), {self.major}, GPA: {self.gpa}"
class StudentRecords:
def __init__(self):
self.students = []
def add_student(self, student):
self.students.append(student)
def remove_student(self, id_num):
for student in self.students:
if student.id_num == id_num:
self.students.remove(student)
return True
return False
def search_student(self, id_num):
for student in self.students:
if student.id_num == id_num:
return student
return None
def print_records(self):
for student in self.students:
print(student)
```
这个程序包含两个类:`Student` 和 `StudentRecords`。`Student` 类表示学生记录,包含学生姓名、学号、专业和 GPA(平均绩点)等信息。`StudentRecords` 类则负责对学生记录进行管理,包括添加、删除、搜索和打印等操作。
使用示例:
```python
# 创建一个学生记录管理器
records = StudentRecords()
# 添加一些学生
records.add_student(Student("张三", "101", "计算机科学", 3.6))
records.add_student(Student("李四", "102", "心理学", 3.8))
records.add_student(Student("王五", "103", "历史学", 3.2))
# 打印所有学生记录
records.print_records()
# 搜索学号为 102 的学生记录
student = records.search_student("102")
if student:
print(f"搜索到学生记录:{student}")
else:
print("没有找到对应的学生记录。")
# 删除学号为 101 的学生记录
if records.remove_student("101"):
print("学生记录删除成功。")
else:
print("没有找到对应的学生记录。")
# 再次打印所有学生记录
records.print_records()
```
输出结果:
```
张三 (101), 计算机科学, GPA: 3.6
李四 (102), 心理学, GPA: 3.8
王五 (103), 历史学, GPA: 3.2
搜索到学生记录:李四 (102), 心理学, GPA: 3.8
学生记录删除成功。
李四 (102), 心理学, GPA: 3.8
王五 (103), 历史学, GPA: 3.2
```
阅读全文