import uuid
# 学校
# 创建校区--校区名字,校区地址
class School:
# 定义对象独有属性
def __init__(self,name,addr):
self.name = name
self.addr = addr
self.id = uuid.uuid4()
self.classes = []
# 校区关联班级
def relate_class(self,class_obj):
self.classes.append(class_obj)
# 读取校区的信息
def tell_info(self):
print(f'校区:{self.name} '.center(50,'-'))
for class_obj in self.classes:
class_obj.tell_info()
# 班级信息
class Class:
# 定义班级对象独有的属性
def __init__(self,name):
self.name = name
self.course = None
self.id = uuid.uuid4()
# 班级关联课程
def relate_course(self,course_obj):
self.course = course_obj
# 查看班级信息
def tell_info(self):
print('班级:{}'.format(self.name))
self.course.tell_info()
# 课程信息
class Course:
# 定制课程对象独有的信息
def __init__(self,name,price,period):
self.name = name
self.price = price
self.period = period
self.id = uuid.uuid4()
self.student = []
# 课程关联学生
def relate_student(self,student_obj):
self.student.append(student_obj)
# 查看课程信息
def tell_info(self):
print(f'课程名称{self.name} 课程价格{self.price} 课程时长{self.period}')
for student_obj in self.student:
student_obj.tell_info()
# 学生信息
class Student:
# 定制学生独有信息
def __init__(self,id,name,age,gender):
self.id = id
self.name = name
self.age = age
self.gender = gender
self.uid = uuid.uuid4()
# 查看学生信息
def tell_info(self):
print(f'学号{self.id} 姓名{self.name} 年龄{self.age} 性别{self.gender}')
# 1 创建校区
school_obj1 = School('魔都校区','虹桥')
school_obj2 = School('帝都校区','北京')
# 2 创建班级
class_obj1 = Class('python14期')
class_obj2 = Class('linux28期')
# 3 创建课程信息
course_obj1 = Course('python全栈开发',20000,'6mons')
course_obj2 = Course('linux运维',18000,'5mons')
# 4 创建学生信息
student_obj1 = Student(2020001,'喜羊羊',4,'male')
student_obj2 = Student(2020002,'懒羊羊',4,'male')
student_obj3 = Student(2020003,'美羊羊',4,'female')
student_obj4 = Student(2020004,'暖羊羊',4,'female')
# 5 课程关联学生
course_obj1.relate_student(student_obj1)
course_obj1.relate_student(student_obj2)
course_obj2.relate_student(student_obj3)
course_obj2.relate_student(student_obj4)
# 6 班级关联课程
class_obj1.relate_course(course_obj1)
class_obj2.relate_course(course_obj2)
# 7 校区关联班级
school_obj1.relate_class(class_obj1)
school_obj2.relate_class(class_obj2)
# 8 读取校区信息
school_obj1.tell_info()
school_obj2.tell_info()