学校管理系统代码未完成版

代码还没完成,遇到了瓶颈,请看的朋友留言给我,给点建议,完善一下

  1 import datetime
  2 
  3 class School(object):
  4     '''总部学校类'''
  5     def __init__(self,name,addr,website):
  6         self.name = name
  7         self.addr = addr
  8         self.branches = {}    #下属分校
  9         self.website = website
 10         self.balance = 0
 11         print("创建了一个校区[%s],地址在[%s]" % (name,addr))
 12 
 13     def count_staff_num(self):
 14         pass
 15 
 16     def staff_enrollment(self,staff_obj):
 17         pass
 18 
 19     def count_total_revenue(self):
 20         pass
 21 
 22 class BranchSchool(School):
 23     '''分校'''
 24     def __init__(self,name,addr,headquarter_obj):
 25         super().__init__(name,addr)
 26         self.headquarter_obj = headquarter_obj
 27         self.headquarter_obj.branches[name] =self
 28 
 29 
 30 class Course(object):
 31     '''课程'''
 32     def __init__(self,name,price,outline):
 33         self.name = name
 34         self.price = price
 35         self.outline = outline
 36         print("创建了课程[%s],学费[%s]" % (name,price))
 37 
 38 class Class(object):
 39     '''班级'''
 40     def __init__(self,course_obj,semester,school_obj):
 41         self.course_obj = course_obj
 42         self.semester = semester
 43         self.school_obj = school_obj
 44         self.stu_list = []
 45 
 46         print("校区[%s]创建了班级[%s]-学期[%s].." %(school_obj.name,course_obj.name,semester))
 47 
 48     def stu_transfer(self,stu_obj,new_class_obj):
 49         stu_obj.append(new_class_obj)
 50         print("学员[%s]转学了.." % (stu_obj))
 51 
 52     def stu_dropout(self,stu_obj):
 53         print("学员[%s]退学了..." % (stu_obj))
 54 
 55 class Staff(object):
 56     '''员工类'''
 57     def __init__(self,name,age,salary,dept,position,school_obj):
 58         self.name = name
 59         self.age = age
 60         self.salary = salary
 61         self.dept = dept
 62         self.position = position
 63         self.school_obj = school_obj
 64 
 65     def punch_card(self):
 66         print("员工[%s]正常上班打卡..." % (self.name))
 67 
 68 class Teacher(Staff):
 69     def __init__(self,name,age,salary,dept,position,school_obj,course_obj):
 70         super().__init__(self,name,age,salary,dept,position)
 71         self.course_obj = course_obj  #老师可以讲的课
 72     def teach_class(self,class_obj,day):
 73         print("老师[%s]正在班级[%s]上第[%s]天课" % (self.name,class_obj,day))
 74 
 75 class Student(object):
 76     '''学员'''
 77     def __init__(self,name,age,class_obj,balance):
 78         self.name = name
 79         self.age = age
 80         self.class_obj = class_obj
 81         self.balance = balance
 82 
 83         #加入班级
 84         self.class_obj.stu_list.append(self)
 85 
 86         #交学费
 87     def pay_tuition(self,class_obj,name):
 88 
 89         self.balance -= class_obj.course_obj.price
 90         self.class_obj.school_obj.balance += class_obj.course_obj.price
 91 
 92         print("班级[%s]加入了新学员[%s],交费[%s]" %(class_obj,name,class_obj.course_obj.price))
 93 
 94 
 95
 96 
 97     def punch_card(self):
 98         print("%s:学员在班级[%s]上课了。。。" % (datetime.datetime.now(),self.class_obj))
 99 
100 
101 #创建校区
102 headquarter = School("老男孩IT教育集团","北京昌平沙河","oldboy.com")
103 sh1_school = School("张江校区","上海张江","oldboyedu.com")
104 sh2_school = School("虹桥校区","上海虹桥","oldboyedu.com")
105 luffy = School("深圳校区","深圳大学城","oldboyedu.com")
106 
107 
108 #创建课程
109 py_course = Course("Python开发","25800","None")
110 linux_course = Course("Linux运维","20000","None")
111 go_course = Course("GO开发","30000","None")
112 
113 #创建班级
114 class1 = Class(py_course,24,headquarter)
115 class2 = Class(go_course,5,headquarter)
116 class3 = Class(py_course,12,sh1_school)
117 
118 #创建员工、老师、员工
119 s1 = Staff("Alex",26,4000,"CEO","总经办",luffy)
120 s2 = Staff("Todd",45,60000,"CEO","总经办",headquarter)
121 s3 = Staff("明月",24,7000,"HR","HR",headquarter)
122 
123 t1 = Teacher("日天",28,30000,"讲师","教学部",py_course,headquarter)
124 t2 = Teacher("Egon",28,30000,"讲师","教学部",linux_course,sh1_school)
125 t3 = Teacher("佩奇",29,40000,"学科带头人","教学部",py_course,sh2_school)
126 
127 stu1 = Student("春生",22,class1,50000)
128 stu2 = Student("black girl",22,class3,30000)
129 stu3 = Student("小强",22,class2,35000)
130 
131 
132 for i in (stu1,stu2,stu3):
133     i.pay_tuition()
134     print(class1.stu_list)
135 
136 sh1_school.show_balance()
137 sh2_school.show_balance()
138 luffy.show_balance()
139 
140 headquarter.count_total_revenue()
141 headquarter.count_staff_num()

 

你可能感兴趣的:(学校管理系统代码未完成版)