当前位置:   article > 正文

基于python的学生成绩管理,用python做成绩管理系统_基于python的学生成绩管理系统

基于python的学生成绩管理系统

大家好,给大家分享一下python编写一个简单的学生成绩管理程序,很多人还不知道这一点。下面详细解释一下。现在让我们来看看!

Python实现学生成绩管理系统

概述

在本篇文章中,我们将探讨如何使用Python编程语言创建一个简单但功能齐全的学生成绩管理系统。该系统将允许我们添加新的学生、删除学生、更新学生成绩、查询学生信息以及显示所有学生信息PythonTurtle画扇形。此外,我们还会使用Python的pickle模块将学生数据持久化到文件中。

实现

首先,我们需要定义两个类:StudentGradeManagementSystem

Student 类表示单个学生,包含姓名、学生ID和成绩(一个科目到成绩的映射)属性。__str__() 方法用于返回学生的字符串表示。

GradeManagementSystem 类负责管理学生数据。它包含一系列方法,包括加载和保存学生数据、添加新学生、删除学生、更新学生成绩、查找学生和显示所有学生信息。

具体的代码如下:

  1. import os
  2. import pickle
  3. class Student:
  4. def __init__(self, name, student_id, grades=None):
  5. self.name = name
  6. self.student_id = student_id
  7. self.grades = grades if grades else {}
  8. def __str__(self):
  9. return f"{self.name}, {self.student_id}, {self.grades}"
  10. class GradeManagementSystem:
  11. def __init__(self, filename="grades.txt"):
  12. self.filename = filename
  13. self.students = self.load_students()
  14. def load_students(self):
  15. if os.path.exists(self.filename):
  16. with open(self.filename, "rb") as file:
  17. return pickle.load(file)
  18. else:
  19. return []
  20. def save_students(self):
  21. with open(self.filename, "wb") as file:
  22. pickle.dump(self.students, file)
  23. def add_student(self, name, student_id):
  24. new_student = Student(name, student_id)
  25. self.students.append(new_student)
  26. self.save_students()
  27. def delete_student(self, student_id):
  28. for index, student in enumerate(self.students):
  29. if student.student_id == student_id:
  30. self.students.pop(index)
  31. self.save_students()
  32. return True
  33. return False
  34. def update_grade(self, student_id, subject, grade):
  35. for student in self.students:
  36. if student.student_id == student_id:
  37. student.grades[subject] = grade
  38. self.save_students()
  39. return True
  40. return False
  41. def find_student(self, student_id):
  42. for student in this.students:
  43. if student.student_id == student_id:
  44. return student
  45. return None
  46. def display_students(self):
  47. for student in this.students:
  48. print(student)

交互界面

接下来,我们为系统添加一个交互式命令行界面,以方便用户使用。我们将提供一个菜单,用户可以通过输入对应的数字来选择想要执行的操作。

  1. if __name__ == "__main__":
  2. system = GradeManagementSystem()
  3. while True:
  4. print("\n学生成绩管理系统菜单:")
  5. print("1. 添加学生")
  6. print("2. 删除学生")
  7. print("3. 更新学生成绩")
  8. print("4. 查询学生")
  9. print("5. 显示所有学生")
  10. print("6. 退出")
  11. choice = input("请选择功能(输入数字):")
  12. if choice == "1":
  13. name = input("请输入学生姓名:")
  14. student_id = input("请输入学生ID:")
  15. system.add_student(name, student_id)
  16. print("学生已成功添加!")
  17. elif choice == "2":
  18. student_id = input("请输入要删除的学生ID:")
  19. if system.delete_student(student_id):
  20. print("学生已成功删除!")
  21. else:
  22. print("未找到该学生,请检查ID。")
  23. elif choice == "3":
  24. student_id = input("请输入要更新成绩的学生ID:")
  25. subject = input("请输入科目:")
  26. grade = input("请输入成绩:")
  27. if system.update_grade(student_id, subject, grade):
  28. print("学生成绩已成功更新!")
  29. else:
  30. print("未找到该学生,请检查ID。")
  31. elif choice == "4":
  32. student_id = input("请输入要查询的学生ID:")
  33. student = system.find_student(student_id)
  34. if student:
  35. print("学生信息:", student)
  36. else:
  37. print("未找到该学生,请检查ID。")
  38. elif choice == "5":
  39. print("所有学生信息:")
  40. system.display_students()
  41. elif choice == "6":
  42. print("谢谢使用,再见!")
  43. break
  44. else:
  45. print("无效的输入,请重新选择。")

在线预览

https://www.wpsshop.cn/w/菜鸟追梦旅行/article/detail/170314?site

推荐阅读
相关标签
  

闽ICP备14008679号