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

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

首先,我们需要连接数据库,可以使用 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()