本文实例为大家分享了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?') choice = choice.upper() if choice != 'P' and choice != 'M' and choice != 'Q': info = 'Error Action!' continue if choice == 'P': info = self.PersonalInfo() elif choice == 'M': info = self.OperatMessage() else : break def PersonalInfo(self): ###个人信息 info = '' while True: self.PersonalInfoSurface(info) choice = raw_input('What to do?') choice = choice.upper() if choice != 'C' and choice != 'Q': info = 'Error Action!' continue if choice == 'C': info = self.ChangePersonalInfo() else : break return info def ChangePersonalInfo(self): ###修改个人信息 NewGender = self.Gender NewBirth = self.Birth NewPw = self.Password while True: choice = raw_input('Change Gender?(y/n)') choice = choice.lower() if choice == 'y': NewGender = raw_input('New Gender:') break elif choice == 'n': break else : pass while True: choice = raw_input('change Born Date?(y/n)') choice = choice.lower() if choice == 'y': NewBirth = raw_input('New Born Date:') break elif choice == 'n': break else : pass while True: choice = raw_input('change Password?(y/n)') choice = choice.lower() if choice == 'y': NewPw = raw_input('New Password:') break elif choice == 'n': break else : pass info = 'Change Success!' cur = self.conn.cursor() if NewGender != self.Gender or NewBirth != self.Birth: sqlcmd = "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?') choice = choice.upper() if choice == 'M': msg = input('Message Id:') info = self.MessageInfo(msg) elif choice == 'Q': break; else : info = 'Error Action!' return info def MessageList(self): ###查看消息列表 cur = self.conn.cursor() print '' sqlcmd = "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实现教务管理系统
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持小牛知识库。
本文向大家介绍python实现停车管理系统,包括了python实现停车管理系统的使用技巧和注意事项,需要的朋友参考一下 Python停车管理系统可实现车辆入库,按车牌号或者车型查询车辆,修改车辆信息,车辆出库时实现计费,按车型统计车辆数和显示全部车辆信息的功能 (1)定义车辆类,属性有车牌号、颜色、车型(小汽车、小卡、中卡和大卡)、到达的时间和离开的时间等信息和相关的对属性做操作的行为。 (2)定
本文向大家介绍python实现宿舍管理系统,包括了python实现宿舍管理系统的使用技巧和注意事项,需要的朋友参考一下 Python综合应用——宿舍管理系统,供大家参考,具体内容如下/p> 通过对 python 的函数,变量的应用,编写简单的关系系统 实现功能: 1.新增学生 2.显示全部学生信息 3.搜索学生 可按照学生姓名,班级,学号,宿舍号标准进行查询 4.修改信息(按照用户名进行检索标准)
本文向大家介绍python实现名片管理系统,包括了python实现名片管理系统的使用技巧和注意事项,需要的朋友参考一下 本文实例为大家分享了python实现名片管理系统的具体代码,供大家参考,具体内容如下 系统需求 程序启动,显示名片管理系统欢迎界面,并显示功能菜单 ************************************************** 欢迎使用【名片管理系统】V1.
本文向大家介绍用python实现学生管理系统,包括了用python实现学生管理系统的使用技巧和注意事项,需要的朋友参考一下 学生管理系统 相信大家学各种语言的时候,练习总是会写各种管理系统吧,管理系统主要有对数据的增删查改操作,原理不难,适合作为练手的小程序 数据的结构 要保存数据就需要数据结构,比如c里面的结构体啊,python里面的列表,字典,还有类都是常用的数据类型 在这里,我使用了链表来作
本文向大家介绍python实现手机销售管理系统,包括了python实现手机销售管理系统的使用技巧和注意事项,需要的朋友参考一下 本文实例为大家分享了python实现手机销售管理系统的具体代码,供大家参考,具体内容如下 要求如下: 手机销售系统 手机品牌 手机价格 库存数量 vivoX9 2798
本文向大家介绍python实现简单图书管理系统,包括了python实现简单图书管理系统的使用技巧和注意事项,需要的朋友参考一下 用python实现一个简单的图书管理系统 ,供大家参考,具体内容如下 1、工具:PyCharm3.6 社区版 我创建了一个工程叫fairy,把解释器换成Pytnon3.6 创建一个pytnon file:图书管理系统.py 2、实现简单界面如下: 3、代码实现 一个简单的