老师帮忙看一下代码,谢谢!
# 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 星