Python练习题:类与对象
2017-10-26 03:51
218 查看
一、题目要求
1. 创建 北京 和 上海 两个校区
创建 Linux \ Python \ Go 3个课程
创建 北京校区的Python 16期, Go开发第一期,和上海校区的Linux 10期 班级
管理员 创建了 北京校区的 学员 小晴 ,并将其 分配 在了 班级 python 16期
管理员 创建了 讲师 王二 , 并将其分配 给了 班级 python 16期
讲师 王二 创建 了一条 python 16期的 上课纪录 Day6
讲师 王二 为Day6这节课 所有的学员 批了作业 ,小晴得了A, 李雷得了C-, 赵帅得了B
学员李磊 查看了自己所报的所有课程
学员 李磊 在 查看了 自己在 py16期 的 成绩列表 ,然后退出了
学员小晴 给 讲师 王二好评
二、code
三、运行结果:
1. 创建 北京 和 上海 两个校区
创建 Linux \ Python \ Go 3个课程
创建 北京校区的Python 16期, Go开发第一期,和上海校区的Linux 10期 班级
管理员 创建了 北京校区的 学员 小晴 ,并将其 分配 在了 班级 python 16期
管理员 创建了 讲师 王二 , 并将其分配 给了 班级 python 16期
讲师 王二 创建 了一条 python 16期的 上课纪录 Day6
讲师 王二 为Day6这节课 所有的学员 批了作业 ,小晴得了A, 李雷得了C-, 赵帅得了B
学员李磊 查看了自己所报的所有课程
学员 李磊 在 查看了 自己在 py16期 的 成绩列表 ,然后退出了
学员小晴 给 讲师 王二好评
二、code
#Author :ywq Course_list=[] class School(object): def __init__(self,school_name): self.school_name=school_name self.students_list=[] self.teachers_list=[] global Course_list def hire(self,obj): self.teachers_list.append(obj.name) print('[System Notice]:现在雇佣新员工 %s,welcome!' %obj.name) def enroll(self,obj): self.students_list.append(obj.name) print('[System Notice]:学员%s 信息注册成功,ID:%s' %(obj.name,obj.id)) class Grade(School): def __init__(self,school_name,grade_code,grade_course): super(Grade,self).__init__(school_name) self.code=grade_code self.course=grade_course self.members=[] Course_list.append(self.course) print('[System Notice]:Now, school \'%s\' grade \'%s\' create course \'%s\' ' %(self.school_name,self.code,self.course)) def course_info(self): print(''' Syllabus(课程大纲) of %s is : day 1: day 2: day 3: day 4: day 5: ''' %self.course) Python = Grade('BJ',16,'Python') Go = Grade('BJ',1,'Go') Linux = Grade('SH',10,'Linux') class School_member(object): def __init__(self,name,age,sex,role): self.name=name self.age=age self.sex=sex self.role=role self.course_list=[] print('-----------My name is %s ,and I am a %s ------------ ' %(self.name,self.role)) stu_num_id=00 class Students(School_member): def __init__(self,name,age,sex,role,course): super(Students,self).__init__(name,age,sex,role) global stu_num_id stu_num_id+= 4000 1 stu_id=course.school_name +'S'+str(course.code)+str(stu_num_id).zfill(2) #保证stu_num_id有两位数, #只有一位数时前面填充0,只能对str类型操作 self.id=stu_id self.mark_list={} def study(self,course): print('------------I come here to learn %s ,ID %s ------------' %(course.course,self.id)) def pay(self,course): print('------------I pay 2000$ for %s ------------' % course.course) self.course_list.append(course.course) def Praise(self,obj): print('------------%s Praise %s:Wonderful! ------------' %(self.name,obj.name)) def mark_check(self): for i in self.mark_list.items(): print(i) def out(self): print('[System Notice]:So sadly,the mark of %s was so bad,he(she) opt out at last ' %self.name) tea_num_id=00 class Teachers(School_member): def __init__(self,name,age,sex,role,course): super(Teachers,self).__init__(name,age,sex,role) global tea_num_id tea_num_id+=1 #保证有两位数,个位数时往前面填充0 Tea_id=course.school_name +'T'+str(course.code)+str(tea_num_id).zfill(2) self.id=Tea_id def teach(self,course): print('------------I come here to teach guys %s,id %s ------------' %(course.course,self.id)) def record_mark(self,Date,course,obj,level): print('It is %s \'s mark in the Day %s of the course %s : %s' %(obj.name,Date,course.course,level) ) obj.mark_list['Day'+Date]=level a=Students('小晴',21,'W','student',Python) Python.enroll(a) a.study(Python) a.pay(Python) b=Students('李雷',22,'M','student',Python) Python.enroll(b) b.study(Python) b.pay(Python) c=Students('赵帅',23,'M','student',Python) Python.enroll(c) c.study(Python) c.pay(Python) t = Teachers('王二',30,'M','teacher',Python) Python.hire(t) t.teach(Python) t.record_mark('6',Python,a,'A') t.record_mark('6',Python,c,'B') t.record_mark('1',Python,b,'C-') t.record_mark('2',Python,b,'C-') t.record_mark('3',Python,b,'C-') t.record_mark('4',Python,b,'C-') t.record_mark('5',Python,b,'C-') t.record_mark('6',Python,b,'C-') print(b.course_list) #查看已报名课程 b.mark_check() #评分查询 b.out() a.Praise(t)
三、运行结果:
[System Notice]:Now, school 'BJ' grade '16' create course 'Python' [System Notice]:Now, school 'BJ' grade '1' create course 'Go' [System Notice]:Now, school 'SH' grade '10' create course 'Linux' -----------My name is 小晴 ,and I am a student ------------ [System Notice]:学员小晴 信息注册成功,ID:BJS1601 ------------I come here to learn Python ,ID BJS1601 ------------ ------------I pay 2000$ for Python ------------ -----------My name is 李雷 ,and I am a student ------------ [System Notice]:学员李雷 信息注册成功,ID:BJS1602 ------------I come here to learn Python ,ID BJS1602 ------------ ------------I pay 2000$ for Python ------------ -----------My name is 赵帅 ,and I am a student ------------ [System Notice]:学员赵帅 信息注册成功,ID:BJS1603 ------------I come here to learn Python ,ID BJS1603 ------------ ------------I pay 2000$ for Python ------------ -----------My name is 王二 ,and I am a teacher ------------ [System Notice]:现在雇佣新员工 王二,welcome! ------------I come here to teach guys Python,id BJT1601 ------------ It is 小晴 's mark in the Day 6 of the course Python : A It is 赵帅 's mark in the Day 6 of the course Python : B It is 李雷 's mark in the Day 1 of the course Python : C- It is 李雷 's mark in the Day 2 of the course Python : C- It is 李雷 's mark in the Day 3 of the course Python : C- It is 李雷 's mark in the Day 4 of the course Python : C- It is 李雷 's mark in the Day 5 of the course Python : C- It is 李雷 's mark in the Day 6 of the course Python : C- ['Python'] ('Day5', 'C-') ('Day3', 'C-') ('Day4', 'C-') ('Day1', 'C-') ('Day2', 'C-') ('Day6', 'C-') [System Notice]:So sadly,the mark of 李雷 was so bad,he(she) opt out at last ------------小晴 Praise 王二:Wonderful! ------------
相关文章推荐
- 第四章 Python对象练习题--自我总结
- Python3-正则表达式-创建、匹配Regex对象
- 【Python】Python的类、对象、属性、方法
- Python中列表对象的方法
- 【python】基础知识练习题一
- python的对象和类
- 计数时使用Counter计数对象 分类: python 2013-01-18 16:11 163人阅读 评论(0) 收藏
- selenium python 定位一组对象
- 基于python的类和对象
- 零基础学python-15.4 函数的多态vs对象的多态
- Python之拷贝对象
- 【python】练习题:去重排序以及列表推导式
- python中 class 或对象属性转化成dict 、dict转换成对象
- 【廖雪峰Python习题集】面向对象高级编程
- Python——集合字典解析的对象无序和无副本特性
- Python的面向对象思想分析
- Python 类与对象变量
- Python进阶06 循环对象
- VII python面向对象
- Python rich comparisons 自定义对象比较过程和返回值