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


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

      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()
  • 相关阅读:
    HBase的完全分布式搭建
    研究Zookeeper的原理(二)
    研究Zookeeper的原理(一)
    zookeeper集群的搭建
    Hadoop之伪分布式安装
    MySQL忘记密码(终极解决方法,亲测有效,windows版本)
    MySQL重置密码(liunx)
    disconf---分布式配置管理平台的搭建(linux版本)
    zookeeper的安装(单机版)
    Redis搭建一主一从及哨兵模式(二)
  • 原文地址:https://www.cnblogs.com/intruder/p/11429084.html
Copyright © 2020-2023  润新知