请帮我用python语言编写一个完整的学生成绩管理系统,学生成绩信息包括:学期、学号、班别、姓名、四门课程成绩(语文、数学、英语和 Python),具体实现以下七个功能: (1)创建信息并以磁盘文件保存; (2)读取磁盘文件并显示输出所有学生的成绩; (3)能按学期、按班级完成对学生成绩的录入、修改; (4)能按班级统计学生的成绩,求学生的总分及平均分; (5)能查询学生成绩,不及格科目及学生名单; (6)能按班级输出学生的成绩单; (7)显示输出 60分以下、60-79、 80-89、90分以上各分数段的学生信息。
时间: 2023-02-09 14:12:42 浏览: 80
这是一个完整的学生成绩管理系统的 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 = []
阅读全文