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 请问paddlehub能支持移动端开发吗?在Android studio上该如何部署?
- ¥170 如图所示配置eNSP
- ¥20 docker里部署springboot项目,访问不到扬声器
- ¥15 netty整合springboot之后自动重连失效
- ¥15 悬赏!微信开发者工具报错,求帮改
- ¥20 wireshark抓不到vlan
- ¥20 关于#stm32#的问题:需要指导自动酸碱滴定仪的原理图程序代码及仿真
- ¥20 设计一款异域新娘的视频相亲软件需要哪些技术支持
- ¥15 stata安慰剂检验作图但是真实值不出现在图上
- ¥15 c程序不知道为什么得不到结果