• 作业 4/7


    
    选课系统项目中涉及到诸多数据与功能,要求引入面向对象的思想对其进行高度整合
    1、学校数据与功能整合
    class School():
        door = True
        def __init__(self,name,adr):
            self.name = name
            self.address = adr
            self.class_list = []
        def add_class(self,class1):
            self.class_list.append(class1)
        def look_class(self):
            print(self.class_list)
    2、课程数据与功能进行整合
    class Course():
        def __init__(self,name,time,price):
            self.name = name
            self.time = time
            self.price = price
    
    3、学生数据与功能进行整合
    class Student():
        school = 'oldboy'
    
        def __init__(self,name,age,sex,num,school):
            self.name = name
            self.age = age
            self.sex = sex
            self.num = num
            self.school = school
            self.class1 = []
            self.course = []
            self.core = None
        def choose_class(self,class1):
            self.class1.append(class1)
        def look_class(self):
            print(self.class1.name)
        def look_course(self):
            print(self.course)
        def quit_course(self,course):
            self.course.remove(course)
    4、讲师数据与功能进行整合
    class Teacher():
        school = 'oldboy'
    
        def __init__(self, name, age, sex,salary,num_one):
            self.name = name
            self.age = age
            self.sex = sex
            self.salary = salary
            self.num_one = num_one
            self.course = []
        def choose_course(self,course):
            self.course.append(course)
        def look_course(self):
            print(self.course)
        def quit_course(self,course):
            self.course.remove(course)
        def core(self,stu,core):
            stu.core = core
    5、班级数据与功能进行整合
    class Class():
        def __init__(self,name,school):
            self.name = name
            school.class_list.append(name)
            self.course = []
            self.students = []
            self.teachers = []
        def add_course(self,course1):
            self.course.append(course1)
        def look_course(self):
            print(self.course)
        def student_add(self,stu):
            self.students.append(stu)
        def teacher_add(self,tea):
            self.teachers.append(tea)
        def quit_people(self,people):
            if people in self.students:
                self.students.remove(people)
            elif people in self.teachers:
                self.teachers.remove(people)
            else:
                print('no people')
    ps:不会写的同学,可以先用普通的方式,先把数据与功能都给写好,再考虑基于面向对象的思想进行整合
    
    数据部分:
         校区的名字:如"老男孩上海校区"
         校区的地址:如"上海虹桥"
    
         班级名字
         班级所在校区
    
         学生的学校
         学生的姓名
         学生的年龄
         学号
         学生的性别
    
         课程名字
         课程周期
         课程价格
    
         老师的名字
         老师的年龄
         老师的薪资
         老师的等级
    
    
    功能部分:
         校区创建完毕后,可以为每个校区创建班级
    
         班级创建完毕后,可以为每个班级创建课程
    
         学生创建完毕后,学生可以选择班级
    
         老师创建完毕后,可以为学生打分
    school_shanghai = School('上海校区','虹桥火车站')
    school_shanghai.add_class('1')
    school_shanghai.add_class('2')
    school_shanghai.add_class('3')
    school_shanghai.look_class()
    class1 = Class('1',school_shanghai)
    class1.add_course('linux')
    class1.look_course()
    stu1 = Student('egon',10,'male','01','上海校区')
    stu1.choose_class(class1)
    stu1.look_class()
    tea = Teacher('egon',10,'male',19999,'1')
    tea.core(stu1,90)
    print(stu1.core)
    
    if __name__ == '__main__':
        print('''
        0 创建学校
        1 创建班级
        2 添加课程
        3 添加学生
        4 添加老师
        ''')
    
  • 相关阅读:
    【LeetCode】96.Unique Binary Search Trees
    【LeetCode】136.Single Number
    VirtualBox下Linux加载Windows的共享目录
    Macbook上Windows的触摸板设置工具
    [转]太岁三煞五黄
    [转]UI、GUI、UE、UX、ID、UED、UCD的区别
    紫微斗数:命主和身主
    [转]如何降低二手烟的危害
    [转]从第六十三卦到第六十四卦
    Mac显示和隐藏隐藏文件
  • 原文地址:https://www.cnblogs.com/pythonwl/p/12655058.html
Copyright © 2020-2023  润新知