老师帮忙看一下代码,谢谢!
# example.py # 定义学生类: class Student(object): def __init__(self, student_name, student_number, course=None): """ 初始化学生姓名、编号、已选课程 :param student_name: 学生姓名 :param student_number: 学生编号 :param course: 已选课程 """ if course is None: course = [] self.student_name = student_name self.student_number = student_number self.course = course @property def course_detail(self): """ 返回学生的已选课程信息 :return: list """ return self.course def add_course(self, cour_info): """ 添加课程信息 :param cour_info: 课程信息 :return: list """ self.course.append(cour_info) def __str__(self): """ 格式化学生的姓名和学号 :return: str """ return "学生姓名:{} ;\t 学生学号:{} ;".format(self.student_name, self.student_number) # 定义教师类: class Teacher(object): def __init__(self, teacher_number, teacher_name, tel): """ 初始化教师姓名、编号、电话(私有属性) :param teacher_number:教师编号 :param teacher_name:教师姓名 :param tel:教师电话 """ self.teacher_number = teacher_number self.teacher_name = teacher_name self.__tel = tel def __str__(self): """ 格式化教师的姓名和编号 :return: str """ return "教师编号:{} ; 教师姓名:{}".format(self.teacher_number, self.teacher_name) # 定义课程类: class Course(object): def __init__(self, course_number, course_name, course_teacher=None): """ 初始化课程编号、课程名称、课程教师 :param course_number: 课程编号 :param course_name: 课程名称 :param course_teacher: 课程教师 """ self.course_number = course_number self.course_name = course_name self.course_teacher = course_teacher def binding(self, teacher): """ 绑定授课教师 :param teacher: 传入教师类实例 :return: dict """ if not teacher: # 使用if语句判断教师类的实例是否存在 return 0 self.course_teacher = teacher teacher_dict = {"课程名称": self.course_name, "课程教师": self.course_teacher} return teacher_dict # flie_exe.py from example import Student from example import Teacher from example import Course def introduction(title_str): print("{0} {1} {0}".format("*" * 30, title_str)) def prepare_course(): course_dict = {"01": "网络爬虫", "02": "数据分析", "03": "人工智能", "04": "机器学习", "05": "云计算", "06": "大数据", "07": "图像识别", "08": "Web开发"} course_list = [] for c_no, c_name in course_dict.items(): course = Course(c_no, c_name) course_list.append(course) return course_list def create_teacher(): teacher_info_list = [["T1", "张亮", "13301122001"], ["T2", "王朋", "13301122002"], ["T3", "李旭", "13301122003"], ["T4", "黄国发", "13301122004"], ["T5", "周勤", "13301122005"], ["T6", "谢富顺", "13301122006"], ["T7", "贾教师", "13301122007"], ["T8", "杨教师", "13301122008"]] teacher_list = [] for t_info in teacher_info_list: teacher_info = Teacher(t_info[0], t_info[1], t_info[2]) teacher_list.append(teacher_info) return teacher_list def course_to_teacher(): course_list = [] ls_course = prepare_course() ls_teacher = create_teacher() for l in range(0, len(ls_course)): bind = ls_course[l].binding(ls_teacher[(-l-1)]) course_list.append(bind) return course_list def create_student(): is_student = ["小亮", "小明", "李红", "小丽", "Jone", "小彤", "小K", "慕慕"] student_num = range(1000, 1008) student_list = [] for i in range(0, len(is_student)): student_info = Student(is_student[(-i-1)], student_num[i]) student_list.append(student_info) return student_list if __name__ == "__main__": class_list = create_student() choose_list = course_to_teacher() introduction("慕课学院(1)班学生信息") for student in class_list: print(student) introduction("慕课学院(1)班选课信息")
最后第7步要求中的:
(6)循环遍历课程绑定教师函数的长度,为学生初始化信息的每一对象添加绑定老师之后的课程信息
(7)遍历学生初始化信息,实现如效果图Name:xxx, Selected:[{'课程名称': 'xxx', '教师名称': 'xxx'}]的展示
该怎么写?
11
收起
正在回答 回答被采纳积分+1
1回答
好帮手乔木
2019-09-25 10:51:01
同学你好:
课程教师这个key对应的是教师对象的姓名。
其他代码没有问题。
(6)循环遍历课程绑定教师函数的长度,为学生初始化信息的每一对象添加绑定老师之后的课程信息
同学将学生列表遍历之后得到的每一个学生对象使用add_course()方法将课程详细信息列表添加到学生的选课列表即可。
(7)遍历学生初始化信息,实现如效果图Name:xxx, Selected:[{'课程名称': 'xxx', '教师名称': 'xxx'}]的展示
遍历学生列表,将每一个学生对象的姓名(调用student_name属性)和学生的选课信息(调用属性方法course_detail)使用下面的format格式化输出即可。
print("Name:{0}, Selected:{1}".format())
同学可以继续按照上面的提示完成剩下的作业任务。
如果我解决了同学的问题,请采纳!学习愉快^_^。
1.Python零基础入门
- 参与学习 人
- 提交作业 2727 份
- 解答问题 8160 个
想要进入Python Web、爬虫、人工智能等高薪领域,你需要掌握本阶段的Python基础知识,课程安排带你高效学习轻松入门,学完你也能听得懂Python工程师的行业梗。
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星