国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 編程 > Python > 正文

Python實(shí)現(xiàn)學(xué)校管理系統(tǒng)

2020-02-16 11:34:06
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

本文實(shí)例為大家分享了Python實(shí)現(xiàn)學(xué)校管理系統(tǒng)的具體代碼,供大家參考,具體內(nèi)容如下

一、功能分析

此學(xué)校管理系統(tǒng)應(yīng)該可以實(shí)現(xiàn)學(xué)校的師資力量的調(diào)配,學(xué)生的入學(xué)、學(xué)習(xí)以及修學(xué)或者退學(xué)的情況

二、程序解讀

1.下面的程序?qū)崿F(xiàn)了學(xué)校管理系統(tǒng)的基本功能,包括:

1)學(xué)校的招生
2)講師的招聘
3)課程的增加
4)等等

2.未實(shí)現(xiàn)的功能也有很多,比如:

1)學(xué)生類中有一個(gè)方法是繳費(fèi),也有一個(gè)方法是注冊(cè),這兩個(gè)方法應(yīng)該關(guān)聯(lián)起來(lái),繳費(fèi)成功后,才可以進(jìn)行注冊(cè)
2)每個(gè)老師應(yīng)該可以通過(guò)各種方式來(lái)查看自己學(xué)生的信息,比如按照姓名,學(xué)號(hào)等等
3)每個(gè)學(xué)生都應(yīng)該可以查看學(xué)校所有的課程和教師情況
4)所有的這些信息必須保存在文件或者數(shù)據(jù)庫(kù)中才可以得到永久的保存
5)在客戶上傳相應(yīng)的數(shù)據(jù)時(shí),應(yīng)該對(duì)其有所約束,比如說(shuō)學(xué)號(hào)必須是10位正整數(shù)(在這里,為了避免報(bào)錯(cuò),將所有的數(shù)據(jù)都設(shè)置為字符串型)
6)講師,學(xué)生和課程的刪除,修改,查詢等操作需要添加
7)各類對(duì)象在初始化的時(shí)候需要輸入的信息太多,應(yīng)該做成只需要唯一ID和PASSWD這種類型的來(lái)進(jìn)行相應(yīng)的登錄
8)等等

二、程序代碼

#!/usr/bin/env python#coding:utf-8"""file:Management.pydate:9/9/179:57 PMauthor:hxdesc:管理系統(tǒng)雛形"""##添加模塊import sysimport json##學(xué)校類定義class School(object):  ##初始化函數(shù)  def __init__(self,SchoolName,SchoolPlace,SchoolMotto):    self.SchoolName = SchoolName    self.SchoolPlace = SchoolPlace    self.SchoolMotto = SchoolMotto  ##招生函數(shù)  def RecruitStu(self):    NewStuName = raw_input("StuName:")    NewStuAge = raw_input("StuAge:")    NewStuSex = raw_input("StuSex:")    NewStuSchool = raw_input("StuSchool:")    CourseNo = raw_input("CourseNo:")    NewStuID = raw_input("StuID:")    CoursePrice = raw_input("CoursePrice:")    NewStu = Stu(NewStuName,NewStuAge,NewStuSex,NewStuSchool,CourseNo,NewStuID,CoursePrice)   ##實(shí)例化學(xué)員對(duì)象    stus_dict = {"StuName":NewStuName,"StuAge":NewStuAge,"StuSex":NewStuSex,"StuSchool":NewStuSchool,"CourseNo":CourseNo,"StuID":NewStuID,"CoursePrice":CoursePrice} # 用字典來(lái)存放講師信息    if not dic:      dic[NewStuName] = stus_dict      json.dump(dic, open("student_db", "w"), encoding='utf-8', ensure_ascii=False, indent=2)    else:      if dic.get(NewStuName):        print("%s學(xué)生已存在,不能注冊(cè)名字相同的學(xué)生" % NewStuName)      else:        dic[NewStuName] = stus_dict        json.dump(dic, open("student_db", "w"),encoding='utf-8', ensure_ascii=False, indent=2)    print("The student has already added successfully".center(50, '-'))    NewStu.StuInfo()  ##聘請(qǐng)講師  def HireTch(self):    print "Welcome to hire teacher from here~"    NewTeacherName = raw_input("Please input the teacher's name:")    NewTeacherAge = raw_input("Please input the teacher's age:")    NewTeacherSex = raw_input("Please input the teacher's sex:")    NewCourseNo = raw_input("Please input the teacher's course number:")    NewSalary = raw_input("Please input the teacher's salary:")    NewTeacher = Teacher(NewTeacherName, NewTeacherAge, NewTeacherSex, NewCourseNo,NewSalary) # 實(shí)例化講師對(duì)象    teachers_dict = {"TeacherName":NewTeacherName,"TeacherAge":NewTeacherAge,"TeacherSex":NewTeacherSex,"CourseNo":NewCourseNo,"Salary":NewSalary} # 用字典來(lái)存放講師信息    # 通過(guò)json將講師的字典反序列化到dic字典中    if not dic:                 #字典如果為空      dic[NewTeacherName] = teachers_dict    #將講師名與講師對(duì)象相關(guān)聯(lián)      # 通過(guò)json將講師的字典序列化到teacher_db文件中      json.dump(dic, open("teacher_db", "w"),encoding='utf-8',ensure_ascii=False,indent=2)    else:                    #如果文件中已有講師信息      if dic.get(NewTeacherName):       #字典中不存在key,則返回none,不報(bào)錯(cuò)        print("%s講師已存在,不能創(chuàng)建名字相同的講師" % NewTeacherName)      else:        dic[NewTeacherName] = teachers_dict        json.dump(dic, open("teacher_db", "w"),encoding='utf-8',ensure_ascii=False,indent=2)    NewTeacher.TeacherInfo() ##將新老師的信息打印在屏幕上  ##新增課程  def CreateCourse(self):    print "Welcome to create course!"    NewCourseNo = raw_input("CourseNo:")    NewCourseName = raw_input("CourseName:")    NewCoursePrice = raw_input("CoursePrice:")    NewCourse = Course(NewCourseNo,NewCourseName,NewCoursePrice)  ##新創(chuàng)建的對(duì)象直接實(shí)例化    courses_dict = {"CourseNo":NewCourseNo,"CourseName":NewCourseName,"CoursePrice":NewCoursePrice} # 用字典來(lái)存放講師信息    if not dic:      dic[NewCourseNo] = courses_dict      json.dump(dic, open("course_db", "w"), encoding='utf-8', ensure_ascii=False, indent=2)    else:      if dic.get(NewCourseNo):        print("%s課程已存在,不能注冊(cè)課程號(hào)相同的課程" % NewCourseNo)      else:        dic[NewCourseNo] = courses_dict        json.dump(dic, open("course_db", "w"),encoding='utf-8', ensure_ascii=False, indent=2)    print("Course has already created successfully".center(50, '-'))    print ("""    CourseNo:%s    CourseName:%s    CoursePrice:%s"""%(NewCourseNo,NewCourseName,NewCoursePrice))class Teacher(object):  def __init__(self, TeacherName, TeacherAge, TeacherSex, CourseNo, Salary):    self.TeacherName = TeacherName    self.TeacherAge = TeacherAge    self.TeacherSex = TeacherSex    self.CourseNo = CourseNo    self.Salary = Salary  def TeachKnowledge(self):    print "Teach Knowlege~"  def TeacherInfo(self):    print("""    -------------講師信息-------------    Name:%s    Age:%s    Sex:%s    CourseNo:%s    Salary:%s    """ % (self.TeacherName, self.TeacherAge,self.TeacherSex, self.CourseNo, self.Salary))##課程類定義class Course(object):  def __init__(self,CourseNo,CourseName,CoursePrice):    self.CourseNo = CourseNo    self.CourseName = CourseName    self.CoursePrice = CoursePrice  def ShowCourseInfo(self):    print ("""    CourseNO:%s    CourseName:%s    CoursePrice:%s""" %(self.CourseNo,self.CourseName,self.CoursePrice))##學(xué)員類定義class Stu(object):  def __init__(self,StuName,StuAge,StuSex,StuSchool,CourseNo,StuID,CoursePrice):    self.StuName = StuName    self.StuAge = StuAge    self.StuSex = StuSex    self.StuSchool = StuSchool    self.CourseNo = CourseNo    self.StuID = StuID    self.CoursePrice = CoursePrice  def Study(self):    print "study"  def PayMoney(self):    print "Paying for money~"  def StuInfo(self):    print("""        ---------------學(xué)生信息--------------        Name:%s        Age:%s        Sex:%s        School:%s        CourseNo:%s        ID:%s        CoursePrice:%s        """ %(self.StuName,self.StuAge,self.StuSex,self.StuSchool,self.CourseNo,self.StuID,self.CoursePrice))def students_view(): # 學(xué)員視圖  while True:    pro = """    1.歡迎注冊(cè)    2.返回    3.退出    請(qǐng)選擇:    """    num = raw_input(pro)    if num == '1':      choice_school_obj.RecruitStu()   # 調(diào)用學(xué)生注冊(cè)方法并生成學(xué)生對(duì)象    elif num == '2':      break    elif num == '3':      sys.exit()    else:      continuedef teacher_view(): # 講師視圖  name = raw_input("請(qǐng)輸入講師姓名:")  while True:    if dic.get(name) or teachers_dict.get(name):      print("歡迎%s講師".center(50, '-') % name)    elif not dic.get(name) and not teachers_dict.get(name):      print("%s講師不存在" % name)      break    pro = """    1.查看學(xué)員信息    2.返回    3.退出    請(qǐng)輸入你的選擇:    """    num = raw_input(pro)    if num == '1':      if teachers_dict.get(name):        teachers_dict[name].show_student() # 查看學(xué)生信息      else:        print("功能未完善,只能輸入lvah,cheng")    elif num == '2':      break    elif num == '3':      sys.exit()    else:      continuedef school_view(): # 學(xué)校視圖  while True:    pro = """    1.創(chuàng)建課程    2.招生注冊(cè)    3.聘用講師    4.返回    5.退出    請(qǐng)輸入你的選擇:    """    num = raw_input(pro)    if num == '1':      choice_school_obj.CreateCourse()    elif num == '2':      choice_school_obj.RecruitStu()    elif num == '3':      choice_school_obj.HireTch()    elif num == '4':      break    elif num == '5':      sys.exit()    else:      continuedef main():  global dic # 全局變量  global choice_school_obj  dic = {}  while True:    print("請(qǐng)選擇學(xué)校".center(50, '*'))    pro1 = """  1. %s  2. %s  3. 返回  4. 退出  請(qǐng)輸入你的選擇:""" % (school1.SchoolName, school2.SchoolName)    choice_school = raw_input(pro1)    if choice_school == '1':      choice_school_obj = school1 # 將對(duì)象引用傳給choice_school    elif choice_school == '2':      choice_school_obj = school2    elif choice_school == '3':      break    elif choice_school == '4':      sys.exit()    else:      continue    while True:      print("請(qǐng)選擇視圖".center(50, '*'))      pro2 = """    1.學(xué)員視圖    2.講師視圖    3.學(xué)校管理視圖    4.返回    5.退出    請(qǐng)選擇視圖:    """      num = raw_input(pro2)      if num == '1':        print("歡迎進(jìn)入學(xué)員視圖".center(50, '*'))        students_view()      elif num == '2':        print("歡迎進(jìn)入講師視圖".center(50, '*'))        teacher_view()      elif num == '3':        print("歡迎進(jìn)入學(xué)校管理視圖".center(50, '*'))        school_view()      elif num == '4':        break      elif num == '5':        sys.exit()      else:        continueif __name__ == '__main__':  teachers_dict = {}  courses_dict = {}  stus_dict = {}  school1 = School("A大學(xué)", "曲江校區(qū)", "祖國(guó)、榮譽(yù)、責(zé)任")  # 實(shí)例化兩個(gè)學(xué)校  school2 = School("B大學(xué)", "長(zhǎng)安區(qū)", "愛(ài)國(guó)、求是、奮進(jìn)")  t1 = Teacher("leo", "28", "male", "01", "10000")  t2 = Teacher("harry", "26", "female", "02", "9000")      # 實(shí)例化兩個(gè)講師  teachers_dict["leo"] = t1  teachers_dict["harry"] = t2  teacher_dict = {"TeacherName": "leo", "TeacherAge": "28", "TeacherSex": "male", "CourseNo": "01", "Salary": "10000"}  teacher_dict = {"TeacherName": "harry", "TeacherAge": "26", "TeacherSex": "female", "CourseNo": "02","Salary": "9000"}  course1 = Course("01", "Linux云自動(dòng)化運(yùn)維", "12800")      # 實(shí)例化兩個(gè)課程  course2 = Course("02", "c/c++開(kāi)發(fā)", "9800")  courses_dict["01"] = course1  courses_dict["02"] = course2  courses_dict = {"CourseNo":"01","CourseName":"Linux云自動(dòng)化運(yùn)維","CoursePrice":"12800"}  courses_dict = {"CourseNo": "02", "CourseName": "c/c++開(kāi)發(fā)", "CoursePrice": "9800"}  stu1 = Stu("Katy","18","female","A大學(xué)","01","3150911026","12800")  ##實(shí)例化兩個(gè)學(xué)員  stu2 = Stu("Betty","18","male","B大學(xué)","02","3150911022","12000")  stus_dict["Katy"] = stu1  stus_dict["Betty"] = stu2  stu_dict = {"StuName":"Katy","StuAge":"18","StuSex":"female","StuSchool":"A大學(xué)","CourseNo":"01","StuID":"3150911026","CoursePrice":"12800"}  stu_dict = {"StuName":"Betty","StuAge":"18","StuSex":"male","StuSchool":"B大學(xué)","CourseNo":"02","StuID":"3150911022","CoursePrice":"12000"}  print(school1, school2)  main()            
發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 翼城县| 元谋县| 报价| 武功县| 施甸县| 大连市| 明水县| 徐闻县| 卓资县| 涪陵区| 云阳县| 宜良县| 陆良县| 荃湾区| 留坝县| 荣成市| 虞城县| 潞城市| 贵南县| 汝阳县| 新营市| 宜丰县| 思茅市| 华阴市| 昌宁县| 黔西县| 南京市| 罗江县| 仙居县| 长沙县| 淮南市| 扎鲁特旗| 府谷县| 江达县| 崇阳县| 龙江县| 浠水县| 剑阁县| 西乡县| 广东省| 剑阁县|