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()
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 3无用
悬赏问题
- ¥15 微信小程序协议怎么写
- ¥15 c语言怎么用printf(“\b \b”)与getch()实现黑框里写入与删除?
- ¥20 怎么用dlib库的算法识别小麦病虫害
- ¥15 华为ensp模拟器中S5700交换机在配置过程中老是反复重启
- ¥15 java写代码遇到问题,求帮助
- ¥15 uniapp uview http 如何实现统一的请求异常信息提示?
- ¥15 有了解d3和topogram.js库的吗?有偿请教
- ¥100 任意维数的K均值聚类
- ¥15 stamps做sbas-insar,时序沉降图怎么画
- ¥15 买了个传感器,根据商家发的代码和步骤使用但是代码报错了不会改,有没有人可以看看