这是一个完整的学生成绩管理系统的 Python 代码,它实现了您所列的所有功能:
```
学生成绩管理系统
import os import pickle
class Student: def init(self, term, id, class_name, name, grades): self.term = term self.id = id self.class_name = class_name self.name = name self.grades = grades
def __str__(self):
return '{} {} {} {} {}'.format(self.term, self.id, self.class_name, self.name, self.grades)
class StudentManager: def init(self): self.students = [] self.load_students()
def load_students(self):
if os.path.exists('students.pkl'):
with open('students.pkl', 'rb') as f:
self.students = pickle.load(f)
def save_students(self):
with open('students.pkl', 'wb') as f:
pickle.dump(self.students, f)
def create_student(self):
term = input('请输入学期:')
id = input('请输入学号:')
class_name = input('请输入班级:')
name = input('请输入姓名:')
grades = []
for subject in ['语文', '数学', '英语', 'Python']:
grade = int(input('请输入{}成绩:'.format(subject)))
grades.append(grade)
student = Student(term, id, class_name, name, grades)
self.students.append(student)
self.save_students()
print('成功添加学生 {} 的成绩信息。'.format(name))
def show_all_students(self):
print('学期 学号 班级 姓名 成绩')
for student in self.students:
print(student)
def update_student(self, term=None, class_name=None):
found = False
for student in self.students:
if term and student.term == term:
found = True
break
if class_name and student.class_name == class_name:
found = True
break
if not found:
print('没有找到符合条件的学生。')
return
student.grades = []