圆月山庄资源网 Design By www.vgjia.com
本文实例为大家分享了python实现教务管理系统,供大家参考,具体内容如下
mysql+python构成教务管理系统,提供系统管理员,教职工,学生三级。有注册,添加,修改,发布信息等功能。
Login.py
#-*- coding:utf-8 -*- #####系统登录 import os import MySQLdb import time class Login: def __init__(self,conn): self.account = '' self.password = '' self.level = 2 self.conn = conn def LoginSurface(self,info): os.system('cls') width = 50 title = 'LOGIN' body1 = '[A]Admin' body2 = '[T]Teacher' body3 = '[S]Student' body4 = '[Q]Quit' print '=' * width print ' ' * ((width-len(title))/2), title print ' ' * ((width-len(body1))/2),body1 print ' ' * ((width-len(body1))/2),body2 print ' ' * ((width-len(body1))/2),body3 print ' ' * ((width-len(body1))/2),body4 print ' ' * ((width-len(info))/2), info print '-' * width def MainFunc(self): err = '' while True: self.LoginSurface(err) level = raw_input('Access:') level = level.upper() if level == 'A':self.level = 0 elif level == 'T': self.level = 1 elif level == 'S': self.level = 2 elif level =='Q': return False else : err = 'Error Action!' continue self.account = raw_input('Account:') self.password = raw_input('Password:') if self.CheckAccount(): err = 'Login Success!' self.LoginSurface(err) print 'Please wait...' time.sleep(3) return True; else : err = 'Login Failed!' def GetLoginAccount(self): return [self.account,self.password,self.level] def CheckAccount(self): cur = self.conn.cursor() sqlcmd = "select Account,Password,AccountLevel from LoginAccount where Account = '%s'" % self.account if cur.execute(sqlcmd) == 0: return False temp = cur.fetchone() cur.close() if temp[1] == self.password and temp[2] == self.level: return True else: return False def Quit(self): pass if __name__ == '__main__': conn = MySQLdb.connect(user='root',passwd = '123456',db = 'test'); a = Login(conn) a.MainFunc() a.Quit() conn.close()
main.py
#-*- coding:utf-8 -*- ####系统入口 import os import MySQLdb import Student import Teacher import Login import SystemManager if __name__ == '__main__': conn = MySQLdb.connect(user='root',passwd = '123456',db = 'test') log = Login.Login(conn) if log.MainFunc(): account = log.GetLoginAccount() if account[2] == 0: usr = SystemManager.SystemManager(conn,account[0],account[1]) usr.MainFunc() elif account[2] == 1: usr = Teacher.Teacher(conn,account[0],account[1]) usr.MainFunc() elif account[2] == 2: usr = Student.Student(conn,account[0],account[1]) usr.MainFunc() else : conn.close() raise exception() conn.close()
Student.py
#-*- coding:utf-8 -*- ####学生账号 import MySQLdb import os class Student: def __init__(self,conn,account,passwd): ###构造,conn连接数据库 cur = conn.cursor() sqlcmd = "select Name,Gender,Birth,Academy,Major,Grade,TeacherNo from StudentInfo where StudentNo = '%s'" % account cur.execute(sqlcmd) res = cur.fetchone() sqlcmd = "select Name from TeacherInfo where TeacherNo = '%s'" % res[6] cur.execute(sqlcmd) TeacherName = cur.fetchone() cur.close() self.width = 150 self.conn = conn self.account = account self.Password= passwd self.Name = res[0] self.Gender = res[1] self.Birth = res[2] self.Accademy= res[3] self.Major = res[4] self.Grade = res[5] self.Teacher = TeacherName[0] def MainFunc(self): ###主要执行函数 info = '' while True: self.MainSurface(info) choice = raw_input('What to do"update StudentInfo set Gender = '%s',Birth = '%s' where StudentNo = '%s'" % (NewGender,NewBirth,self.account) if cur.execute(sqlcmd) == 0: self.conn.rollback() cur.close() return 'Change Fail!' if NewPw != self.Password: sqlcmd = "update LoginAccount set Password = '%s' where Account='%s'" % (NewPw,self.account) if cur.execute(sqlcmd) == 0: self.conn.rollback() cur.close() return 'Change Fail!' else : self.conn.commit() self.Gender = NewGender self.Birth = NewBirth self.Password = NewPw cur.close() return 'Change Success!' def OperatMessage(self): info = '' while True: self.MessageSurface(info) self.MessageList() choice = raw_input('What to do"select Id,SenderName,SendTime,Title from AllMessage where statu = 'pass' and MsgLevel = 1" if cur.execute(sqlcmd) == 0: return print '-' * self.width while True: temp = cur.fetchone() if not temp: break; print '%3d%-20s%-50s%s' % (temp[0],temp[1],temp[3],temp[2]) print '-' * self.width cur.close() def MessageInfo(self,MsgNo): ###查看详细消息, No消息编号 cur = self.conn.cursor() sqlcmd = "select SenderName,SendTime,Title,Content from AllMessage where Id = %d" % MsgNo if cur.execute(sqlcmd) == 0: cur.close() return 'Read Fail!' article = cur.fetchone() cur.close() os.system('cls') print '=' * self.width print ' ' * ((self.width - len(article[2]))/2) , article[2] head = article[0] + ' ' + str(article[1]) print ' ' * ((self.width - len(head))/2) , head print '-' * self.width print article[3] print '=' * self.width raw_input('Press any key to return!') return '' def Quit(self): ###退出 pass def MainSurface(self,info): ###主界面 os.system('cls') print '=' * self.width title = 'Welcome %s!' % self.Name body1 = '[P]Personal Information' body2 = '[M]Message' body3 = '[Q]Quit' print ' ' * ((self.width - len(title))/2),title print ' ' * ((self.width - len(body1))/2),body1 print ' ' * ((self.width - len(body1))/2),body2 print ' ' * ((self.width - len(body1))/2),body3 print ' ' * ((self.width - len(info))/2),info print '=' * self.width def MessageSurface(self,info): ###消息界面 os.system('cls') print '=' * self.width title = 'MESSAGES' body1 = '[M]Message Detail' body2 = '[Q]Quit' print ' ' * ((self.width - len(title))/2),title print ' ' * ((self.width - len(body1))/2),body1 print ' ' * ((self.width - len(body1))/2),body2 print ' ' * ((self.width - len(info))/2),info print '=' * self.width def PersonalInfoSurface(self,info): ###个人信息界面 os.system('cls') print '=' * self.width title = 'PERSONAL INFORMATION' body1 = '[C]Change Information' body2 = '[Q]Quit' print ' ' * ((self.width - len(title))/2),title print ' ' * ((self.width - len(body1))/2),body1 print ' ' * ((self.width - len(body1))/2),body2 print ' ' * ((self.width - len(info))/2),info print '-' * self.width body3 = ' Name: %s' % self.Name body4 = 'Student Number: %s' % self.account body5 = ' Gender: %s' % self.Gender body6 = ' Birth: %s' % self.Birth body7 = ' Accademy: %s' % self.Accademy body8 = ' Major: %s' % self.Major body9 = ' Grade: %s' % self.Grade body10= ' Teacher: %s' % self.Teacher print ' ' * ((self.width - len(body6))/2),body3 print ' ' * ((self.width - len(body6))/2),body4 print ' ' * ((self.width - len(body6))/2),body5 print ' ' * ((self.width - len(body6))/2),body6 print ' ' * ((self.width - len(body6))/2),body7 print ' ' * ((self.width - len(body6))/2),body8 print ' ' * ((self.width - len(body6))/2),body9 print ' ' * ((self.width - len(body6))/2),body10 print '=' * self.width if __name__ == '__main__': conn = MySQLdb.connect(user='root',passwd = '123456',db = 'test') stu = Student(conn,'0000001','123456') stu.MainFunc() conn.close()
完整代码请点击下载:python实现教务管理系统
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
圆月山庄资源网 Design By www.vgjia.com
广告合作:本站广告合作请联系QQ:858582 申请时备注:广告合作(否则不回)
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
圆月山庄资源网 Design By www.vgjia.com
暂无评论...
更新日志
2024年11月06日
2024年11月06日
- 雨林唱片《赏》新曲+精选集SACD版[ISO][2.3G]
- 罗大佑与OK男女合唱团.1995-再会吧!素兰【音乐工厂】【WAV+CUE】
- 草蜢.1993-宝贝对不起(国)【宝丽金】【WAV+CUE】
- 杨培安.2009-抒·情(EP)【擎天娱乐】【WAV+CUE】
- 周慧敏《EndlessDream》[WAV+CUE]
- 彭芳《纯色角3》2007[WAV+CUE]
- 江志丰2008-今生为你[豪记][WAV+CUE]
- 罗大佑1994《恋曲2000》音乐工厂[WAV+CUE][1G]
- 群星《一首歌一个故事》赵英俊某些作品重唱企划[FLAC分轨][1G]
- 群星《网易云英文歌曲播放量TOP100》[MP3][1G]
- 方大同.2024-梦想家TheDreamer【赋音乐】【FLAC分轨】
- 李慧珍.2007-爱死了【华谊兄弟】【WAV+CUE】
- 王大文.2019-国际太空站【环球】【FLAC分轨】
- 群星《2022超好听的十倍音质网络歌曲(163)》U盘音乐[WAV分轨][1.1G]
- 童丽《啼笑姻缘》头版限量编号24K金碟[低速原抓WAV+CUE][1.1G]