91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

python+mysql實現教務管理系統

發布時間:2020-09-20 21:07:45 來源:腳本之家 閱讀:176 作者:ShellMeShell丶 欄目:開發技術

本文實例為大家分享了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實現教務管理系統

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持億速云。  

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

宝坻区| 滁州市| 通许县| 通渭县| 申扎县| 秦安县| 印江| 武城县| 顺平县| 蒙阴县| 铁岭县| 叶城县| 松潘县| 黄骅市| 新乡县| 锦州市| 黄平县| 榆树市| 汝州市| 台东市| 故城县| 上饶县| 教育| 岑溪市| 昭苏县| 庆阳市| 右玉县| 绥中县| 离岛区| 化隆| 图木舒克市| 镇安县| 桃园县| 淄博市| 乐陵市| 互助| 华坪县| 桐乡市| 张家口市| 万宁市| 新民市|