日日行,不怕千万里;常常做,不怕千万事|

__username

园龄:2年5个月粉丝:12关注:2

📂python
🔖Python
2023-04-14 17:55阅读: 11评论: 0推荐: 0

图书馆

这是帮别人写的一个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()
posted @   __username  阅读(11)  评论(0编辑  收藏  举报

本文作者:DIVMonster

本文链接:https://www.cnblogs.com/guangzan/p/12886111.html

版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。

点击右上角即可分享
微信分享提示
评论
收藏
关注
推荐
深色
回顶
收起