Wait for bloom
时光不语,静待花开

这是一个简单的类练习题:

 一、分析:

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

 再分析学生这个流程图:主要是选择学校,选择班级然后注册的流程。

选择的学校和班级从上面的代码继承过来,然后注册。

 1 #!/usr/bin/python
 2 import school_create as sc
 3 
 4 class Student(object):
 5     student=[]
 6     def __init__(self,name):
 7         self.name=name
 8     def __chose_school(self):
 9         print(sc.School.school)
10         self.choice_school=input('请选择学校').strip()
11         school_list=[]
12         for i in sc.School.school:
13             school_list.append(i[0])
14         # print(school_list)
15         if self.choice_school in school_list:
16             pass
17         else :
18             print('没有这个学校')
19             exit()
20 
21 
22 
23     def __choose_teacher_class(self):
24         print(sc.School.teacher_class)
25         self.choice_teacher_class=input('请选择班级').strip()
26         teacher_class_list=[]
27         for i in sc.School.teacher_class:
28             teacher_class_list.append(i[0])
29         # print(teacher_class_list)
30         if self.choice_teacher_class in teacher_class_list:
31             pass
32         else:
33             print('没有这个班级')
34             exit()
35 
36     def regester(self):
37         self.__chose_school()
38         self.__choose_teacher_class()
39         self.student.append([self.name,self.choice_school,self.choice_teacher_class])
40 
41 
42 x=Student('test_student')
43 x.regester()
44 print(x.student)
View Code

 

posted on 2024-02-02 17:31  Little-Girl  阅读(36)  评论(0编辑  收藏  举报