这是一个简单的类练习题:
一、分析:
1.新增:1.新增学校:属性有学校编号,学校名称,学校地址
2.新增课程:属性有课程编号,课程名称,课程周期,课程价格
要求:通过学校创建课程
3.创建班级:班级属性:班级编号,班级名称
要求:需要关联课程,讲师
4.创建学员:属性:学员编号,学员名称,学员年龄
要求:关联学校,关联班级
5.创建讲师:属性:讲师编号,讲师名称
要求:关联学校
1.学员登录--》注册--》选班级--》交学费
2.讲师登录--》选择班级--》查看班级学员--》查看班级成绩
3.管理员登录--》创建讲师--》创建班级---》创建课程
二、简单画下模型:
|
三、再来简单画下流程图:
先分析学校这个流程图:通过流程我们看出,学校的角度进行创建学校、创建课程、创建老师、创建班级,所以在学校类里面实现这个,即用学校列表、课程列表、老师列表及班级列表来存储;
再分别定义课程、老师、班级三个类,然后将三个类传入学校类中,实现上述功能。
1 #!/usr/bin/python 2 # class Education(object): 3 # def __init__(self, name): 4 # self.name = name 5 # 6 # def show_info(self): 7 # pass 8 # 9 # def __str__(self): 10 # return self.name 11 12 class School(object): 13 school=[] #创建学校 14 course=[] #创建课程 15 teacher=[] #创建老师 16 teacher_class=[] #创建班级并关联课程和老师 17 18 def __init__(self,name,school_addr): 19 self.name=name 20 self.__school_addr=school_addr 21 def create_school(self): 22 x=[self.name,self.__school_addr] 23 self.school.append(x) 24 print('%s创建成功'%self.name) 25 26 27 def create_course(self,name,course_semester,course_price): 28 course=Course(name,course_semester,course_price).create_course() #将课程类的参数引用过来,或者将课程类的方法引用过来 29 self.course.append(course) 30 print('%s创建成功'%name ) 31 32 def create_teacher(self,name): 33 teacher=Teacher(name).create_teacher() 34 self.teacher.append(teacher) 35 36 def create_class(self,name): 37 #先执行选择课程 38 print(self.course) 39 choice_course=input('请选择课程') 40 print(self.teacher) 41 choice_teacher=input('请选择讲师') 42 compare_course=[] 43 for i in self.course: 44 compare_course.append(i[0]) 45 if choice_course in compare_course and choice_teacher in self.teacher: 46 #新增班级 47 teacher_class=[Teacher_class(name).teacher_class_list(),choice_course,choice_teacher] 48 self.teacher_class.append(teacher_class) 49 else: 50 print('选择不正确') 51 52 53 54 55 56 class Course(object): 57 def __init__(self,name,course_semester,course_price): 58 self.name=name 59 self.course_semester=course_semester 60 self.course_price=course_price 61 62 def create_course(self): 63 course_list=[self.name,self.course_semester,self.course_price] 64 # print(course_list) 65 return course_list 66 67 class Teacher(object): 68 def __init__(self,name): 69 self.name=name 70 def create_teacher(self): 71 teacher_list=self.name 72 return teacher_list 73 74 75 class Teacher_class(object): 76 def __init__(self,name): 77 self.name=name 78 def teacher_class_list(self): 79 teacher_class_list=[self.name] 80 return teacher_class_list 81 82 83 x=School('上海校区','上海') 84 x.create_course('数学','2',1534) 85 print(x.course) 86 x.create_teacher('test') 87 print(x.teacher) 88 x.create_class('1101班') 89 print(x.teacher_class)View Code
标签:班级,name,python,self,class,course,课程,teacher,def From: https://www.cnblogs.com/Little-Girl/p/18003570