老师帮忙看一下代码,谢谢!

老师帮忙看一下代码,谢谢!

# 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'}]的展示

该怎么写?

正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

1回答
好帮手乔木 2019-09-25 10:51:01

同学你好:

http://img1.sycdn.imooc.com//climg/5d8ad3350995525f09950298.jpg

课程教师这个key对应的是教师对象的姓名。

其他代码没有问题。

(6)循环遍历课程绑定教师函数的长度,为学生初始化信息的每一对象添加绑定老师之后的课程信息

同学将学生列表遍历之后得到的每一个学生对象使用add_course()方法将课程详细信息列表添加到学生的选课列表即可。


(7)遍历学生初始化信息,实现如效果图Name:xxx, Selected:[{'课程名称': 'xxx', '教师名称': 'xxx'}]的展示

遍历学生列表,将每一个学生对象的姓名(调用student_name属性)和学生的选课信息(调用属性方法course_detail)使用下面的format格式化输出即可。

print("Name:{0}, Selected:{1}".format())

同学可以继续按照上面的提示完成剩下的作业任务。

如果我解决了同学的问题,请采纳!学习愉快^_^。


  • 我都完全看不懂作业的要求, 痛苦呀。
    2019-10-03 19:50:34
  • 同学你好: 我们的作业都有详细的实现步骤,同学先按照步骤将每一步实现,再对每一步的要求进行一个整合,这样可以更好的理解整个作业的过程。在做作业的过程中,同学可以在问答区提问,我们会帮助同学解决问题。学习愉快^_^。
    2019-10-08 10:15:04
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
1.Python零基础入门
  • 参与学习           人
  • 提交作业       2727    份
  • 解答问题       8160    个

想要进入Python Web、爬虫、人工智能等高薪领域,你需要掌握本阶段的Python基础知识,课程安排带你高效学习轻松入门,学完你也能听得懂Python工程师的行业梗。

了解课程
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师