轩丸子 2022-12-26 19:39 采纳率: 50%
浏览 149
已结题

python项目学生素质分管理系统

python学生素质分管理系统,可以连接数据库。
有ABCD4类素质分,分别由不同的活动加分。

  • 写回答

1条回答 默认 最新

  • 我不是idol 2022-12-26 21:33
    关注

    首先,我们需要连接数据库,可以使用 Python 的数据库连接库如 MySQLdb、PyMySQL 等。

    然后,我们可以定义一个学生信息类,来存储学生的基本信息,包括学号、姓名、年级、专业等。

    接下来,我们可以定义一个素质分类,来存储每个学生的素质分信息,包括学号、A 类素质分、B 类素质分、C 类素质分、D 类素质分、4 类素质分。

    然后,我们可以定义一个活动信息类,来存储每个活动的信息,包括活动名称、活动时间、活动地点、活动负责人等。

    最后,我们可以定义一个学生素质分管理系统类,来实现对学生信息、素质分信息、活动信息的管理,包括查询、修改、添加、删除等功能。

    例如,我们可以定义如下代码:

    import pymysql
    
    # 连接数据库
    conn = pymysql.connect(host='localhost', user='root', password='', db='student_quality_management_system', charset='utf8')
    
    # 创建游标
    cursor = conn.cursor()
    
    # 定义学生信息类
    class Student:
        def __init__(self, id, name, grade, major):
            self.id = id
            self.name = name
            self.grade = grade
            self.major = major
    
    # 定义素质分类
    class QualityScore:
        def init(self, id, a, b, c, d, four):
            self.id = id
            self.a = a
            self.b = b
            self.c = c
            self.d = d
            self.four = four
    
    # 定义活动信息类
    class Activity:
        def init(self, name, time, place, leader):
            self.name = name
            self.time = time
            self.place = place
            self.leader = leader
    
    # 定义学生素质分管理系统类
    class StudentQualityManagementSystem:
        def init(self):
            self.students = {} # 学生信息字典,key 为学号,value 为学生信息对象
            self.qualityScores = {} # 素质分字典,key 为学号,value 为素质分对象
            self.activities = {} # 活动信息字典,key 为活动名称,value 为活动信息对象
        
        # 查询学生信息
        def findStudent(self, id):
            if id in self.students:
                return self.students[id]
            else:
                print("学生不存在!")
        
        # 查询素质分信息
        def findQualityScore(self, id):
            if id in self.qualityScores:
                return self.qualityScores[id]
            else:
                print("素质分信息不存在!")
        
        # 查询活动信息
        def findActivity(self, name):
            if name in self.activities:
                return self.activities[name]
            else:
                print("活动信息不存在!")
        
        # 修改学生信息
        def updateStudent(self, student):
            if student.id in self.students:
                self.students[student.id] = student
            else:
                print("学生不存在!")
        
        # 修改素质分信息
        def updateQualityScore(self, qualityScore):
            if qualityScore.id in self.qualityScores:
                self.qualityScores[qualityScore.id] = qualityScore
            else:
                print("素质分信息不存在!")
        
        # 修改活动信息
        def updateActivity(self, activity):
            if activity.name in self.activities:
                self.activities[activity.name] = activity
            else:
                print("活动信息不存在!")
        
        # 添加学生信息
        def addStudent(self, student):
            if student.id not in self.students:
                self.students[student.id] = student
            else:
                print("学生已存在!")
        
        # 添加素质分信息
        def addQualityScore(self, qualityScore):
            if qualityScore.id not in self.qualityScores:
                self.qualityScores[qualityScore.id] = qualityScore
            else:
                print("素质分信息已存在!")
        
        # 添加活动信息
        def addActivity(self, activity):
            if activity.name not in self.activities:
                self.activities[activity.name] = activity
            else:
                print("活动信息已存在!")
        
        # 删除学生信息
        def deleteStudent(self, id):
            if id in self.students:
                del self.students[id]
            else:
                print("学生不存在!")
        
        # 删除素质分信息
        def deleteQualityScore(self, id):
            if id in self.qualityScores:
                del self.qualityScores[id]
            else:
                print("素质分信息不存在!")
        
        # 删除活动信息
        def deleteActivity(self, name):
            if name in self.activities:
                del self.activities[name]
            else:
                print("活动信息不存在!")
    
    # 创建学生素质分管理系统对象
    sms = StudentQualityManagementSystem()
    
    # 添加学生信息
    sms.addStudent(Student("001", "张三", "大一", "计算机科学与技术"))
    sms.addStudent(Student("002", "李四", "大二", "电子工程"))
    
    # 查询学生信息
    student = sms.findStudent("001")
    print("学号:" + student.id + ", 姓名:" + student.name + ", 年级:" + student.grade + ", 专业:" + student.major)
    
    # 修改学生信息
    sms.updateStudent(Student("001", "张三", "大二", "计算机科学与技术"))
    
    # 再次查询学生信息
    student = sms.findStudent("001")
    print("学号:" + student.id + ", 姓名:" + student.name + ", 年级:" + student.grade + ", 专业:" + student.major)
    
    # 添加素质分信息
    sms.addQualityScore(QualityScore("001", 100, 50, 25, 10, 5))
    
    # 查询素质分信息
    qualityScore = sms.findQualityScore("001")
    print("学号:" + qualityScore.id + ", A 类素质分:" + str(qualityScore.a) + ", B 类素质分:" + str(qualityScore.b) + ", C 类素质分:" + str(qualityScore.c) + ", D 类素质分:" + str(qualityScore.d) + ", 4 类素质分:" + str(qualityScore.four))
    
    # 修改素质分信息
    sms.updateQualityScore(QualityScore("001", 90, 40, 20, 10, 5))
    
    # 再次查询素质分信息
    qualityScore = sms.findQualityScore("001")
    print("学号:" + qualityScore.id + ", A 类素质分:" + str(qualityScore.a) + ", B 类素质分:" + str(qualityScore.b) + ", C 类素质分:" + str(qualityScore.c) + ", D 类素质分:" + str(qualityScore.d) + ", 4 类素质分:" + str(qualityScore.four))
    
    # 添加活动信息
    sms.addActivity(Activity("社团招新", "2020-01-01", "学生活动中心", "张三"))
    
    # 查询活动信息
    activity = sms.findActivity("社团招新")
    print("活动名称:" + activity.name + ", 时间:" + activity.time + ", 地点:" + activity.place + ", 负责人:" + activity.leader)
    
    # 修改活动信息
    sms.updateActivity(Activity("社团招新", "2020-02-01", "学生活动中心", "李四"))
    
    # 再次查询活动信息
    activity = sms.findActivity("社团招新")
    print("活动名称:" + activity.name + ", 时间:" + activity.time + ", 地点:" + activity.place + ", 负责人:" + activity.leader)
    
    # 删除学生信息
    sms.deleteStudent("001")
    
    # 删除素质分信息
    sms.deleteQualityScore("001")
    
    # 删除活动信息
    sms.deleteActivity("社团招新")
    
    # 关闭数据库连接
    conn.close()
    
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 1月3日
  • 已采纳回答 12月26日
  • 创建了问题 12月26日

悬赏问题

  • ¥40 如果update 一个列名为参数的value
  • ¥15 基于51单片机的水位检测系统设计中LCD1602一直不显示
  • ¥15 OCS2安装出现问题,请大家给点意见
  • ¥15 有没有大能能帮我出个适应度函数图,T_T
  • ¥15 ros小车启动launch文件报错
  • ¥15 vs2015到期想登陆但是登陆不上
  • ¥15 IPQ5018制作烧录固件,boot运行失败(操作系统-linux)(相关搜索:操作系统)(相关搜索:操作系统)
  • ¥20 icefall在librispeech基础上加入个人数据集
  • ¥30 keepalive高可用故障运维配置询问
  • ¥15 求帮助!国家电网内网u盘突然识别不出来了。