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

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

Python实现学生成绩管理系统

概述

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

实现

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

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("无效的输入,请重新选择。")

在线预览

🔗链接

总结

在这篇文章中,我们使用Python创建了一个简单的学生成绩管理系统。虽然该系统的功能相对基础,但它提供了一个良好的起点,你可以根据自己的需求对其进行扩展和优化。例如,你可以添加对学生成绩的统计分析功能,或者添加一个图形用户界面(GUI)以提升用户体验。

Python的灵活性和易读性使其成为实现这类系统的理想选择。希望你能从中学到一些有用的知识,并将其应用到你自己的项目中。

1.学生成绩管理系统分为三个用户角色,登录界面可以选择三种不同的角色进行登录系统 2.管理员角色登录系统可以有以下功能: 管理考试信息:可以对考试批次信息进行增删改查操作 管理教师信息:可以对教师个人信息进行增删改查操作,包括教师的姓名/所属班级/生日/性别/登录密码/家庭住址身份证等信息 管理班级信息:可以对班级名称信息进行增删改查操作 管理学生信息:可以对学生个人信息进行增删改查操作,包括教师的姓名/所属班级/生日/性别/登录密码/家庭住址身份证等信息 查看学生成绩:可以查看学生的所属班级,考试批次,姓名,科目,成绩信息 管理课程信息:可以添加课程,也可以从编辑删除操作 管理专业信息:可以添加专业,也可以从编辑删除操作 注销退出系统 3.教师登录系统可以拥有以下功能: 教师个人信息:可以查看自己的个人信息,可以编辑修改自己的信息 教师录入成绩:可以录入学生的成绩:包含学生的所属班级,考试批次,姓名,科目,成绩,可以编辑删除操作 教师查看班级:可以查看现在的班级情况 教师查看专业:可以查看现在的专业情况 修改密码:可以修改个人的登录密码功能 注销退出系统 4.学生登录系统可以拥有以下功能: 学生个人信息:可以查看自己的个人信息,可以编辑自己的信息 学生查看成绩:可以查看学生的成绩,包含班级,考试批次,姓名成绩等属性,也可以按照考试批次快速检索学生信息 学生成绩排名:可以按照成绩高低排名进行查看 学生选择课程:可以添加学生自己的选课信息,可以编辑删除操作 修改密码:可以修改个人的登录密码功能 注销退出系统 备注:系统使用django+mysql进行开发,前端界面大方美观
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值