图书馆
这是帮别人写的一个python作业
# @author: zhc # @Time: 2023/4/14 # @FileName: weixdanzi import mysql.connector from ccmysql import connect_to_database # 创建学生类 class Student: def __init__(self, name, student_id, grade, major): self.name = name self.student_id = student_id self.grade = grade self.major = major def view_grades(self): # TODO: Implement view grades function pass # 创建老师类 class Teacher: def __init__(self, name, teacher_id, courses): self.name = name self.teacher_id = teacher_id self.courses = courses def enter_grade(self, student_id, course_id, grade): # TODO: Implement enter grade function pass # 创建课程类 class Course: def __init__(self, course_name, course_id, teacher): self.course_name = course_name self.course_id = course_id self.teacher = teacher # 创建年级类 class Grade: def __init__(self, student, course, grade): self.student = student self.course = course self.grade = grade # 用户类 class User: def __init__(self, username, password, role): self.username = username self.password = password self.role = role # 管理员类 class Admin: def __init__(self, name, admin_id): self.name = name self.admin_id = admin_id def manage_users(self): # TODO: Implement manage users function pass def manage_grades(self): # TODO: Implement manage grades function pass # 写一个连接数据的方法 # 这里涉及了我的数据库账户密码就不给你看了 我直接导包了 # def connect_to_database(): # config = { # 'user': 'root', # 'password': '数据库密码', # 'host': '127.0.0.1', # 'database': '数据库名', # 'charset': 'utf8mb4', # 防止乱码 # 'raise_on_warnings': True, # # } # # cnx = mysql.connector.connect(**config) # # return cnx # 数据库里添加学生 def add_student(student): cnx = connect_to_database() cursor = cnx.cursor() add_student_query = "INSERT INTO students (name, student_id, grade, major) VALUES (%s, %s, %s, %s)" student_data = (student.name, student.student_id, student.grade, student.major) cursor.execute(add_student_query, student_data) cnx.commit() cursor.close() cnx.close() # 数据库里删除学生 def delete_student(student_id): cnx = connect_to_database() cursor = cnx.cursor() delete_student_query = f"DELETE FROM students WHERE student_id = {student_id}" cursor.execute(delete_student_query) cnx.commit() cursor.close() cnx.close() # 数据库里更新学生 # def update_student(student_id, new_name, new_grade, new_major): def update_student(new_name, student_id, new_grade, new_major): cnx = connect_to_database() cursor = cnx.cursor() update_student_query = "UPDATE students SET name = %s, grade = %s, major = %s WHERE student_id = %s" student_data = (new_name, new_grade, new_major, student_id) cursor.execute(update_student_query, student_data) cnx.commit() cursor.close() cnx.close() # 添加老师 def add_teacher(teacher): cnx = connect_to_database() cursor = cnx.cursor() add_teacher_query = "INSERT INTO teachers (name, teacher_id, courses) VALUES (%s, %s, %s)" teacher_data = (teacher.name, teacher.teacher_id, teacher.courses) cursor.execute(add_teacher_query, teacher_data) cnx.commit() cursor.close() cnx.close() # 数据库里删除老师 def delete_teacher(teacher_id): cnx = connect_to_database() cursor = cnx.cursor() delete_teacher_query = "DELETE FROM teachers WHERE teacher_id = %s" teacher_id_data = (teacher_id,) cursor.execute(delete_teacher_query, teacher_id_data) cnx.commit() cursor.close() cnx.close() # 更新老师 def update_teacher(teacher_id, new_name, new_courses): cnx = connect_to_database() cursor = cnx.cursor() update_teacher_query = "UPDATE teachers SET name = %s, courses = %s WHERE teacher_id = %s" teacher_data = (new_name, new_courses, teacher_id) cursor.execute(update_teacher_query, teacher_data) cnx.commit() cursor.close() cnx.close() # 学生成绩视图 def view_student_grades(): cnx = connect_to_database() cursor = cnx.cursor() grades = [] query = "SELECT * FROM students" cursor.execute(query) # 获取查询结果 for row in cursor.fetchall(): # print(row) grades.append(row) # --- cursor.close() cnx.close() return grades # 课程成绩总视图 pass def view_course_grades(course_id): cnx = connect_to_database() cursor = cnx.cursor() view_grades_query = "SELECT * FROM grades WHERE course_id = %s" course_id_data = (course_id,) cursor.execute(view_grades_query, course_id_data) grades = [] for (student_id, course_id, grade) in cursor: grades.append((student_id, course_id, grade)) cursor.close() cnx.close() return grades # 用户登录 def login(username, password): cnx = connect_to_database() cursor = cnx.cursor() login_query = "SELECT * FROM users WHERE username = %s AND password = %s" user_data = (username, password) cursor.execute(login_query, user_data) user = None for (username, password, role) in cursor: user = User(username, password, role) cursor.close() cnx.close() return user def main(): """现在就是实例化实现功能了 你可以选择自己输入 也就是shell窗口(交互式) 或者 不交互式(这里采用了非交互式) """ # s1 = Student("舒佳琪一号", 2023001, 10, "语文") # s2 = Student("舒佳琪二号", 2023002, 20, "语文") # s3 = Student("舒佳琪三号", 2023003, 30, "语文") # connect_to_database() # 连接数据库方法 # add_student(s1) # 添加你的方法 # add_student(s2) # add_student(s3) # delete_student(2023001) # 学号id是唯一的 (可能存在同名) # exit() # t1 = Teacher("老师一号", 1110, "语文") # add_teacher(t1) # t1.enter_grade("舒佳琪3号", 20230101121, 500, ) # 老师有权限改学生成绩 # update_student("舒佳琪二号", 2023002, 100, "语文") # 更新0蛋 # # 查看学生成绩 # # c = view_student_grades() # # print(c) # 可使用for循环打印 c # grades # g1 = Grade("舒佳琪三号", "语文", "初一") # 可实现可不实现 pass if __name__ == '__main__': main()
本文来自博客园,作者:__username,转载请注明原文链接:https://www.cnblogs.com/code3/p/17319174.html
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步