赞
踩
大家好,给大家分享一下python编写一个简单的学生成绩管理程序,很多人还不知道这一点。下面详细解释一下。现在让我们来看看!
在本篇文章中,我们将探讨如何使用Python编程语言创建一个简单但功能齐全的学生成绩管理系统。该系统将允许我们添加新的学生、删除学生、更新学生成绩、查询学生信息以及显示所有学生信息PythonTurtle画扇形。此外,我们还会使用Python的pickle模块将学生数据持久化到文件中。
首先,我们需要定义两个类:Student
和 GradeManagementSystem
。
Student
类表示单个学生,包含姓名、学生ID和成绩(一个科目到成绩的映射)属性。__str__()
方法用于返回学生的字符串表示。
GradeManagementSystem
类负责管理学生数据。它包含一系列方法,包括加载和保存学生数据、添加新学生、删除学生、更新学生成绩、查找学生和显示所有学生信息。
具体的代码如下:
- import os
- import pickle
-
- class Student:
- def __init__(self, name, student_id, grades=None):
- self.name = name
- self.student_id = student_id
- self.grades = grades if grades else {}
-
- def __str__(self):
- return f"{self.name}, {self.student_id}, {self.grades}"
-
- class GradeManagementSystem:
- def __init__(self, filename="grades.txt"):
- self.filename = filename
- self.students = self.load_students()
-
- def load_students(self):
- if os.path.exists(self.filename):
- with open(self.filename, "rb") as file:
- return pickle.load(file)
- else:
- return []
-
- def save_students(self):
- with open(self.filename, "wb") as file:
- pickle.dump(self.students, file)
-
- def add_student(self, name, student_id):
- new_student = Student(name, student_id)
- self.students.append(new_student)
- self.save_students()
-
- def delete_student(self, student_id):
- for index, student in enumerate(self.students):
- if student.student_id == student_id:
- self.students.pop(index)
- self.save_students()
- return True
- return False
-
- def update_grade(self, student_id, subject, grade):
- for student in self.students:
- if student.student_id == student_id:
- student.grades[subject] = grade
- self.save_students()
- return True
- return False
-
- def find_student(self, student_id):
- for student in this.students:
- if student.student_id == student_id:
- return student
- return None
-
- def display_students(self):
- for student in this.students:
- print(student)
接下来,我们为系统添加一个交互式命令行界面,以方便用户使用。我们将提供一个菜单,用户可以通过输入对应的数字来选择想要执行的操作。
- if __name__ == "__main__":
- system = GradeManagementSystem()
-
- while True:
- print("\n学生成绩管理系统菜单:")
- print("1. 添加学生")
- print("2. 删除学生")
- print("3. 更新学生成绩")
- print("4. 查询学生")
- print("5. 显示所有学生")
- print("6. 退出")
- choice = input("请选择功能(输入数字):")
-
- if choice == "1":
- name = input("请输入学生姓名:")
- student_id = input("请输入学生ID:")
- system.add_student(name, student_id)
- print("学生已成功添加!")
- elif choice == "2":
- student_id = input("请输入要删除的学生ID:")
- if system.delete_student(student_id):
- print("学生已成功删除!")
- else:
- print("未找到该学生,请检查ID。")
- elif choice == "3":
- student_id = input("请输入要更新成绩的学生ID:")
- subject = input("请输入科目:")
- grade = input("请输入成绩:")
- if system.update_grade(student_id, subject, grade):
- print("学生成绩已成功更新!")
- else:
- print("未找到该学生,请检查ID。")
- elif choice == "4":
- student_id = input("请输入要查询的学生ID:")
- student = system.find_student(student_id)
- if student:
- print("学生信息:", student)
- else:
- print("未找到该学生,请检查ID。")
- elif choice == "5":
- print("所有学生信息:")
- system.display_students()
- elif choice == "6":
- print("谢谢使用,再见!")
- break
- else:
- print("无效的输入,请重新选择。")
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。