python小功能-学生选课

↘锁芯ラ 提交于 2019-12-15 12:49:18

本来打算用面向对象和反射来实现,结果,反射没用上,这个东西新接触~~不太会

kecheng_list = []
kecheng_list_1 = []
main_list = ["退出", "查看课程", "选课", "查看已选课程", "删除课程"]


class KeCheng(object):

    def __init__(self, name):
        """
        初始化课程
        :param name: 课程名字
        """
        self.name = name

    @staticmethod
    def show_all_class():
        for i in range(len(kecheng_list)):
            print(kecheng_list[i].name)


class Studednt(object):

    def __init__(self, **kwargs):
        """
        初始化学生
        :param kwargs: name 必须传递,其余随意
        """
        pass

        self.x = kwargs

    def search_kecheng(self):
        for i, item in enumerate(kecheng_list_1, 1):
            print(i, item)
        your_choice = int(input("输入你要为%s选择的课程的编号:" % self.name))
        self.kecheng = kecheng_list_1[your_choice - 1]
        print(self.__dict__)


def run():
    for i in range(1, 11):
        kechengming = "kecheng%d" % i
        kecheng_list_1.append(kechengming)
        kechengming = KeCheng(kechengming)
        kecheng_list.append(kechengming)

    # 实例化一个学生
    stu_name = input("请输入学生的姓名:")
    stu_name = Studednt(name=stu_name, age=18)
    for item in stu_name.x:
        stu_name.__dict__[item] = stu_name.x[item]
    stu_name.__dict__.pop("x")

    # 主功能
    while True:
        print("功能菜单:")
        for i, item in enumerate(main_list, 0):
            print(i, item)
        your_input = int(input("请输入操作序号:"))
        if your_input == 0:
            break
        elif your_input == 1:
            KeCheng.show_all_class()

        elif your_input == 2:
            stu_name.search_kecheng()


if __name__ == '__main__':
    run()


引发了一些对*args,**kwargs的思考

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!