python实现学生信息管理系统
发布时间:2020-12-17 07:21:02 所属栏目:Python 来源:网络整理
导读:继上篇博客Python实现简易通讯录后,我就想写一个复杂点的学生信息管理系统,这次实现的功能有 1.学生信息的录入管理; 2.学生选课操作; 3.学生选课情况查询; 这次仍然用到sqlite3模块。虽然看着挺简单,但是也踩了不少坑,毕竟刚开始实战,有些细节的还需
继上篇博客Python实现简易通讯录后,我就想写一个复杂点的学生信息管理系统,这次实现的功能有 1.学生信息的录入管理; 这次仍然用到sqlite3模块。虽然看着挺简单,但是也踩了不少坑,毕竟刚开始实战,有些细节的还需要多多磨炼啊! 好了,废话不多说,直接上代码,欢迎感兴趣的朋友私信讨论~~~ #-*- coding:utf-8 -*- import sqlite3 #打开本地数据库用于存储用户信息 conn = sqlite3.connect('student.db') #在该数据库下创建学生信息表 conn.execute ('''CREATE TABLE StudentTable( ID INTEGER PRIMARY KEY AUTOINCREMENT,StuId INTEGER NOT NULL,NAME TEXT NOT NULL,CLASS INT NOT NULL);''') print "Table created successfully"; #在该数据库下创建课程信息表 conn.execute ('''CREATE TABLE CourseTable( ID INTEGER PRIMARY KEY AUTOINCREMENT,CourseId INT NOT NULL,Name TEXT NOT NULL,Teacher TEXT NOT NULL,Classroom TEXT NOT NULL,StartTime CHAR(11) NOT NULL,EndTime CHAR(11) NOT NULL);''') print "Table created successfully"; #在该数据库下创建选课情况信息表 conn.execute ('''CREATE TABLE XuankeTable( ID INTEGER PRIMARY KEY AUTOINCREMENT,StuId INT NOT NULL,CourseId INT NOT NULL,StudentNAME TEXT NULL,StudenCourse TEXT NULL);''') print "Table created successfully"; #以上三个表创建完后,再次运行程序时,需要把三个建表代码注释掉,否则会提示:该表已存在。即建表只需建一次。 def insert_stu(): #录入学生信息 conn = sqlite3.connect('student.db') stu_id = input("请输入学生学号:") cursor = conn.execute("SELECT StuId from StudentTable where StuId = '%s';"%stu_id) conn.commit() for row in cursor: if stu_id == row[0]: print "sorry,该学号已存在,请重新输入" break else: stu_name = raw_input("请输入学生姓名:") stu_class = input("请输入学生班级:") sql1 = "INSERT INTO StudentTable(StuId,NAME,CLASS)" sql1 += " VALUES(%d,'%s',%d);"%(stu_id,stu_name,stu_class) conn.execute(sql1) conn.commit() print "恭喜你,学生录入成功!" def xuanke(): #学生选课 stu_id = input('请输入要选课的学生学号:') sql2 = "select StuId from StudentTable where StuId = %d;"%(stu_id) cursor1 = conn.execute(sql2) for row in cursor1: if stu_id == row[0]: sql3 = "select CourseId,Name,Teacher,Classroom,StartTime,EndTime from CourseTable" cursor2 = conn.execute(sql3) for row in cursor2: print "CourseId = ",row[0] print "Name = ",row[1] print "Teacher = ",row[2] print "Classroom = ",row[3] print "StartTime = ",row[4] print "EndTime = ",row[5],"n" cou_id = input("请输入要选的课程号:") sql = "select StuId from XuankeTable where CourseId = %d;"%(cou_id) cursor3= conn.execute(sql) for row in cursor3: if stu_id == row[0]: print "该课程已选,请重新输入要选课程!" else: sql3 = "insert into XuankeTable (StuId,CourseId) values (%d,%d)"%(stu_id,cou_id) cursor4= conn.execute(sql3) conn.commit() print "恭喜你,选课成功!" break break break else: print "sorry,没有该学生号" def stu_id_search():#按照学生学号查询学生信息 conn = sqlite3.connect('student.db') search_stu_id = input("请输入要查询的学号:") sql4 = "SELECT StuId from StudentTable where StuId= %d;" % (search_stu_id) cursor1 = conn.execute(sql4) conn.commit() for row in cursor1: if search_stu_id == row[0]: sql10 = "select ID,StuId,CLASS from StudentTable where StuId = %d;"%(search_stu_id) cursor2 = conn.execute(sql10) conn.commit() for row in cursor2: print print "您要查询的学生信息为:" print "ID = ",row[0] print "StuId = ",row[1] print "NAME = ",row[2] print "CLASS = ",row[3],"n" break else: print "sorry,没有该学生信息!" def stu_id_cou(): #按照学生学号查询该学生所选课程 stu_id = input("请输入要查询学生号:") sql5 = "select StuId from StudentTable where StuId = %d;"%(stu_id) cursor = conn.execute(sql5) for row in cursor: if stu_id == row[0]: sql6 = "select CourseId from XuankeTable where StuId = %d;"%(stu_id) cursor = conn.execute(sql6) conn.commit() for row in cursor: print print "该学生所选课程号为:" print row print break else: print "sorry,没有该学生选课信息!" def cou_id_search(): #按照课程号查询课程信息 cou_id = input("请输入要查询的课程号:") sql7 = "select CourseId,EndTime from CourseTable " sql7 += "where CourseId = %d;"%(cou_id) cursor1 = conn.execute(sql7) conn.commit() for row in cursor1: print "您要查询的课程信息为:" print "CourseId = ",row[0] print "Name = ",row[1] print "Teacher = ",row[2] print "Classroom = ",row[3] print "StartTime = ",row[4] print "EndTime = ","n" break else: print "sorry,没有该课程信息!" def cou_id_stu():#按照课程号查询选择该课程的学生列表 cou_id = input('请输入课程号:') sql8 = "select CourseId from XuankeTable where CourseId =%d;"%(cou_id) cursor1 = conn.execute(sql8) for row in cursor1: if cou_id == row[0]: sql9 = "select StuId from XuankeTable where CourseId =%d;"%(cou_id) cursor2 = conn.execute(sql9) conn.commit() for row in cursor2: print print "选择该课程的学生为:" print row,"n" break break else: print "sorry,没有该课程信息!" def menu(): print '1.进入学生信息系统(学生信息录入)' print '2.进入学生选课系统(学生选课操作)' print '3.进入学生选课信息系统(学生信息查询和选课情况查询)' print '4.退出程序' def student(): print '1.录入学生信息' print '2.返回主菜单' print '3.退出程序' def Course(): print '1.开始选课' print '2.返回主菜单' print '3.退出程序' def information(): print '1.按学号查询学生信息' print '2.按学号查看学生选课课程列表' print '3.按课程号查看课程信息' print '4.按课程号查看选课学生列表' print '5.返回主菜单' print '6.退出程序' while True: menu() print x = raw_input('请输入您的选择菜单号:') if x == '1': #进入学生信息系统 student() stu = raw_input('您已进入学生录入系统,请再次输入选择菜单:') if stu == '1': insert_stu() continue if stu == '2': menu() continue if stu == '3': print "谢谢使用!" exit() continue else: print "输入的选项不存在,请重新输入!" continue if x == '2': #进入选课信息系统 Course() cou = raw_input('您已进入学生选课系统,请再次输入选择菜单:') if cou == '1': xuanke() continue if cou == '2': menu() continue if cou == '3': print "谢谢使用!" exit() continue else: print "输入的选项不存在,请重新输入!" continue if x == '3': #进入学生选课信息表 information() inf = raw_input('您已进入学生选课信息系统,请再次输入选择菜单:') if inf == '1': stu_id_search() continue if inf == '2': stu_id_cou() continue if inf == '3': cou_id_search() continue if inf == '4': cou_id_stu() continue if inf == '5': menu() continue if inf == '6': print "谢谢使用!" exit() continue else: print "输入的选项不存在,请重新输入!" continue if x == '4': print "谢谢使用!" exit() else: print "输入的选项不存在,请重新输入!" continue 以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持编程小技巧。 您可能感兴趣的文章:
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |