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
更多学习资料请关注专题《管理系统开发》。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。