请帮我用python语言编写一个完整的学生成绩管理系统,学生成绩信息包括:学期、学号、班别、姓名、四门课程成绩(语文、数学、英语和 Python),具体实现以下七个功能: (1)创建信息并以磁盘文件保...
时间: 2023-07-04 12:16:34 浏览: 272
python语言实现学生成绩管理系统
5星 · 资源好评率100%
好的,我可以帮你编写一个学生成绩管理系统。首先,需要明确以下几点:
1. 该系统需要哪些功能:创建学生成绩信息、保存信息到文件、读取文件中的信息、查询学生成绩信息、修改学生成绩信息、删除学生成绩信息、展示学生成绩信息。
2. 该系统需要哪些数据:学期、学号、班别、姓名、四门课程成绩(语文、数学、英语和 Python)。
下面是一个简单的实现,你可以根据需求进行修改和优化。
```python
import json
class Student:
def __init__(self, term, student_id, class_name, name, scores):
self.term = term
self.student_id = student_id
self.class_name = class_name
self.name = name
self.scores = scores
class GradeSystem:
def __init__(self, file_name):
self.file_name = file_name
self.students = []
def create_student(self):
term = input("请输入学期:")
student_id = input("请输入学号:")
class_name = input("请输入班别:")
name = input("请输入姓名:")
scores = {}
scores["语文"] = int(input("请输入语文成绩:"))
scores["数学"] = int(input("请输入数学成绩:"))
scores["英语"] = int(input("请输入英语成绩:"))
scores["Python"] = int(input("请输入Python成绩:"))
student = Student(term, student_id, class_name, name, scores)
self.students.append(student)
print("创建成功!")
def save_to_file(self):
data = []
for student in self.students:
data.append({
"term": student.term,
"student_id": student.student_id,
"class_name": student.class_name,
"name": student.name,
"scores": student.scores
})
with open(self.file_name, "w") as f:
f.write(json.dumps(data))
print("保存成功!")
def load_from_file(self):
with open(self.file_name, "r") as f:
data = json.load(f)
for item in data:
student = Student(item["term"], item["student_id"], item["class_name"], item["name"], item["scores"])
self.students.append(student)
print("读取成功!")
def query_student(self):
student_id = input("请输入学号:")
for student in self.students:
if student.student_id == student_id:
print("学期:", student.term)
print("学号:", student.student_id)
print("班别:", student.class_name)
print("姓名:", student.name)
print("语文成绩:", student.scores["语文"])
print("数学成绩:", student.scores["数学"])
print("英语成绩:", student.scores["英语"])
print("Python成绩:", student.scores["Python"])
return
print("查无此人!")
def update_student(self):
student_id = input("请输入学号:")
for student in self.students:
if student.student_id == student_id:
term = input("请输入学期:")
class_name = input("请输入班别:")
name = input("请输入姓名:")
scores = {}
scores["语文"] = int(input("请输入语文成绩:"))
scores["数学"] = int(input("请输入数学成绩:"))
scores["英语"] = int(input("请输入英语成绩:"))
scores["Python"] = int(input("请输入Python成绩:"))
student.term = term
student.class_name = class_name
student.name = name
student.scores = scores
print("修改成功!")
return
print("查无此人!")
def delete_student(self):
student_id = input("请输入学号:")
for student in self.students:
if student.student_id == student_id:
self.students.remove(student)
print("删除成功!")
return
print("查无此人!")
def show_students(self):
for student in self.students:
print("学期:", student.term)
print("学号:", student.student_id)
print("班别:", student.class_name)
print("姓名:", student.name)
print("语文成绩:", student.scores["语文"])
print("数学成绩:", student.scores["数学"])
print("英语成绩:", student.scores["英语"])
print("Python成绩:", student.scores["Python"])
print("-" * 20)
def main():
grade_system = GradeSystem("students.json")
while True:
print("=" * 20)
print("学生成绩管理系统")
print("1. 创建学生成绩信息")
print("2. 保存信息到文件")
print("3. 读取文件中的信息")
print("4. 查询学生成绩信息")
print("5. 修改学生成绩信息")
print("6. 删除学生成绩信息")
print("7. 展示学生成绩信息")
print("0. 退出系统")
print("=" * 20)
choice = input("请输入您的选项:")
if choice == "1":
grade_system.create_student()
elif choice == "2":
grade_system.save_to_file()
elif choice == "3":
grade_system.load_from_file()
elif choice == "4":
grade_system.query_student()
elif choice == "5":
grade_system.update_student()
elif choice == "6":
grade_system.delete_student()
elif choice == "7":
grade_system.show_students()
elif choice == "0":
break
else:
print("输入有误,请重新输入!")
if __name__ == "__main__":
main()
```
这个程序使用了一个 `GradeSystem` 类来管理学生成绩信息。其中,`Student` 类表示学生信息,包括学期、学号、班别、姓名和四门课程成绩;`GradeSystem` 类表示学生成绩管理系统,包括创建学生信息、保存信息到文件、读取文件中的信息、查询学生成绩信息、修改学生成绩信息、删除学生成绩信息和展示学生成绩信息等功能。程序中的所有信息都存储在一个 JSON 文件中,可以通过文件操作实现信息的持久化存储。
阅读全文