作业 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 添加老师
    ''')
原文地址:https://www.cnblogs.com/pythonwl/p/12655058.html