python实现学生信息管理系统
继上篇博客Python实现简易通讯录后,我就想写一个复杂点的学生信息管理系统,这次实现的功能有
1.学生信息的录入管理;
2.学生选课操作;
3.学生选课情况查询;
这次仍然用到sqlite3模块。虽然看着挺简单,但是也踩了不少坑,毕竟刚开始实战,有些细节的还需要多多磨炼啊!
好了,废话不多说,直接上代码,欢迎感兴趣的朋友私信讨论~~~
#-*-coding:utf-8-*- importsqlite3 #打开本地数据库用于存储用户信息 conn=sqlite3.connect('student.db') #在该数据库下创建学生信息表 conn.execute('''CREATETABLEStudentTable( IDINTEGERPRIMARYKEYAUTOINCREMENT, StuIdINTEGERNOTNULL, NAMETEXTNOTNULL, CLASSINTNOTNULL);''') print"Tablecreatedsuccessfully"; #在该数据库下创建课程信息表 conn.execute('''CREATETABLECourseTable( IDINTEGERPRIMARYKEYAUTOINCREMENT, CourseIdINTNOTNULL, NameTEXTNOTNULL, TeacherTEXTNOTNULL, ClassroomTEXTNOTNULL, StartTimeCHAR(11)NOTNULL, EndTimeCHAR(11)NOTNULL);''') print"Tablecreatedsuccessfully"; #在该数据库下创建选课情况信息表 conn.execute('''CREATETABLEXuankeTable( IDINTEGERPRIMARYKEYAUTOINCREMENT, StuIdINTNOTNULL, CourseIdINTNOTNULL, StudentNAMETEXTNULL, StudenCourseTEXTNULL);''') print"Tablecreatedsuccessfully"; #以上三个表创建完后,再次运行程序时,需要把三个建表代码注释掉,否则会提示:该表已存在。即建表只需建一次。 definsert_stu():#录入学生信息 conn=sqlite3.connect('student.db') stu_id=input("请输入学生学号:") cursor=conn.execute("SELECTStuIdfromStudentTablewhereStuId='%s';"%stu_id) conn.commit() forrowincursor: ifstu_id==row[0]: print"sorry,该学号已存在,请重新输入" break else: stu_name=raw_input("请输入学生姓名:") stu_class=input("请输入学生班级:") sql1="INSERTINTOStudentTable(StuId,NAME,CLASS)" sql1+="VALUES(%d,'%s',%d);"%(stu_id,stu_name,stu_class) conn.execute(sql1) conn.commit() print"恭喜你,学生录入成功!" defxuanke():#学生选课 stu_id=input('请输入要选课的学生学号:') sql2="selectStuIdfromStudentTablewhereStuId=%d;"%(stu_id) cursor1=conn.execute(sql2) forrowincursor1: ifstu_id==row[0]: sql3="selectCourseId,Name,Teacher,Classroom,StartTime,EndTimefromCourseTable" cursor2=conn.execute(sql3) forrowincursor2: 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="selectStuIdfromXuankeTablewhereCourseId=%d;"%(cou_id) cursor3=conn.execute(sql) forrowincursor3: ifstu_id==row[0]: print"该课程已选,请重新输入要选课程!" else: sql3="insertintoXuankeTable(StuId,CourseId)values(%d,%d)"%(stu_id,cou_id) cursor4=conn.execute(sql3) conn.commit() print"恭喜你,选课成功!" break break break else: print"sorry,没有该学生号" defstu_id_search():#按照学生学号查询学生信息 conn=sqlite3.connect('student.db') search_stu_id=input("请输入要查询的学号:") sql4="SELECTStuIdfromStudentTablewhereStuId=%d;"%(search_stu_id) cursor1=conn.execute(sql4) conn.commit() forrowincursor1: ifsearch_stu_id==row[0]: sql10="selectID,StuId,NAME,CLASSfromStudentTablewhereStuId=%d;"%(search_stu_id) cursor2=conn.execute(sql10) conn.commit() forrowincursor2: print print"您要查询的学生信息为:" print"ID=",row[0] print"StuId=",row[1] print"NAME=",row[2] print"CLASS=",row[3],"\n" break else: print"sorry,没有该学生信息!" defstu_id_cou():#按照学生学号查询该学生所选课程 stu_id=input("请输入要查询学生号:") sql5="selectStuIdfromStudentTablewhereStuId=%d;"%(stu_id) cursor=conn.execute(sql5) forrowincursor: ifstu_id==row[0]: sql6="selectCourseIdfromXuankeTablewhereStuId=%d;"%(stu_id) cursor=conn.execute(sql6) conn.commit() forrowincursor: print print"该学生所选课程号为:" printrow print break else: print"sorry,没有该学生选课信息!" defcou_id_search():#按照课程号查询课程信息 cou_id=input("请输入要查询的课程号:") sql7="selectCourseId,Name,Teacher,Classroom,StartTime,EndTimefromCourseTable" sql7+="whereCourseId=%d;"%(cou_id) cursor1=conn.execute(sql7) conn.commit() forrowincursor1: print"您要查询的课程信息为:" 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" break else: print"sorry,没有该课程信息!" defcou_id_stu():#按照课程号查询选择该课程的学生列表 cou_id=input('请输入课程号:') sql8="selectCourseIdfromXuankeTablewhereCourseId=%d;"%(cou_id) cursor1=conn.execute(sql8) forrowincursor1: ifcou_id==row[0]: sql9="selectStuIdfromXuankeTablewhereCourseId=%d;"%(cou_id) cursor2=conn.execute(sql9) conn.commit() forrowincursor2: print print"选择该课程的学生为:" printrow,"\n" break break else: print"sorry,没有该课程信息!" defmenu(): print'1.进入学生信息系统(学生信息录入)' print'2.进入学生选课系统(学生选课操作)' print'3.进入学生选课信息系统(学生信息查询和选课情况查询)' print'4.退出程序' defstudent(): print'1.录入学生信息' print'2.返回主菜单' print'3.退出程序' defCourse(): print'1.开始选课' print'2.返回主菜单' print'3.退出程序' definformation(): print'1.按学号查询学生信息' print'2.按学号查看学生选课课程列表' print'3.按课程号查看课程信息' print'4.按课程号查看选课学生列表' print'5.返回主菜单' print'6.退出程序' whileTrue: menu() print x=raw_input('请输入您的选择菜单号:') ifx=='1': #进入学生信息系统 student() stu=raw_input('您已进入学生录入系统,请再次输入选择菜单:') ifstu=='1': insert_stu() continue ifstu=='2': menu() continue ifstu=='3': print"谢谢使用!" exit() continue else: print"输入的选项不存在,请重新输入!" continue ifx=='2': #进入选课信息系统 Course() cou=raw_input('您已进入学生选课系统,请再次输入选择菜单:') ifcou=='1': xuanke() continue ifcou=='2': menu() continue ifcou=='3': print"谢谢使用!" exit() continue else: print"输入的选项不存在,请重新输入!" continue ifx=='3': #进入学生选课信息表 information() inf=raw_input('您已进入学生选课信息系统,请再次输入选择菜单:') ifinf=='1': stu_id_search() continue ifinf=='2': stu_id_cou() continue ifinf=='3': cou_id_search() continue ifinf=='4': cou_id_stu() continue ifinf=='5': menu() continue ifinf=='6': print"谢谢使用!" exit() continue else: print"输入的选项不存在,请重新输入!" continue ifx=='4': print"谢谢使用!" exit() else: print"输入的选项不存在,请重新输入!" continue
更多学习资料请关注专题《管理系统开发》。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。