zoukankan      html  css  js  c++  java
  • python基础练习题7

    1、创建Person类,属性有姓名、年龄、性别,创建方法personInfo,打印这个人的信息
    2、创建Student类,继承Person类,属性有学院college
    ,班级class,重写父类personInfo方法,调用父类方法打印个人信息外,将学生的学院、班级信息也打印出来,
    创建方法study参数为Teacher对象,调用Teacher类的teachObj方法,接收老师教授的知识点,然后打印‘老师xxx,我终于学会了!’xxx为老师的teach方法返回的信息。
    重写__str__方法,返回student的信息。
    3、创建Teacher类,继承Person类,属性有学院college,专业professional
    ,重写父类personInfo方法,调用父类方法打印个人信息外,将老师的学院、专业信息也打印出来。
    创建teachObj方法,返回信息为‘今天讲了如何用面向对象设计程序’
    4、创建三个学生对象,分别打印其详细信息
    5、创建一个老师对象,打印其详细信息
    6、学生对象调用learn方法
    7、将三个学员添加至列表中,通过循环将列表中的对象打印出来,print(Student对象)

    class Person:
        def __init__(self,name,age,sex):
            self.name=name
            self.age=age
            self.sex=sex
        def printInfo(self):
            print('我叫%s,年龄%s,性别%s'%(self.name,self.age,self.sex))
    
    
    class Student(Person):
        def  __init__(self,name,age,sex,collage,banji):
            super().__init__(name,age,sex)
            self.collage=collage
            self.banji=banji
        def printInfo(self):
            print('我叫%s,年龄%s,性别%s,学院%s,班级%s'%(self.name,self.age,self.sex,self.collage,self.banji))
        def learn(self,teacher):
            print('我是%s,老师%s,我终于学会了'%(self.name,teacher.teach()))
        def addStudent(self):
            coutent= {}
            coutent['name']=self.name
            coutent['age']=self.age
            coutent['sex']=self.sex
            coutent['college']=self.collage
            coutent['banji']=self.banji
            student.append(coutent)
        def show_all():
            for dict in student:
                for key in dict.keys():
                    if key=='name':
                        print('姓名:'+dict[key])
                    if key=='age':
                        print('年龄:'+dict[key])
                    if key=='sex':
                        print('性别:'+dict[key])
                    if key=='college':
                        print('学院:'+dict[key])
                    if key=='banji':
                        print('班级:'+dict[key])
                print('*'*50)
        def __str__(self):
            msg='我叫%s,年龄:%s,性别:%s,我是%s的%s班的学生'
            return msg
    class Teacher(Person):
        def __init__(self,name,age,sex,college,professional):
            super().__init__(name,age,sex)
            self.collage=college
            self.professional=professional
        def printInfo(self):
            print('我叫:%s,年龄:%s,性别:%s,我是来自%s的一名%s讲师'%(self.name
                                                     ,self.age,self.sex,self.collage,self.professional))
        def teach(self):
            return '今天讲了如何面向对象设计程序'
    
    student=[]
    stu1 =Person('张三','18','')
    stu2=Person('李四','19','')
    student1 =Student('张三','18','','软件学院','1809')
    student2 =Student('李四','19','','软件学院','1809')
    stu1.printInfo()
    stu2.printInfo()
    
    student1.printInfo()
    student2.printInfo()
    teacher=Teacher('王XX','30','','软件学院','python')
    teacher.printInfo()
    
    student1.learn(teacher)
    student2.learn(teacher)
    
    student1.addStudent()
    student2.addStudent()
    
    Student.show_all()

    来自:https://blog.csdn.net/cc576795555/article/details/84203126

    我是kelly-凯莉 每天努力一点点,幸运就多一点点
  • 相关阅读:
    About Dump File
    设置IIS延长Debug
    正则表达式中\d和[00]有什么区别
    理解程序语言语法的merge工具——semanticmerge
    大数据还是小数据
    如何在TFS中配置别的diff/merge的工具
    一个很cool的展示编程语言相互影响关系的网状图
    常见的算法的时间和空间复杂度
    C#的强迫执行域Constrained Execution Regions(CERs)
    C++的C4305和C4800的编译警告
  • 原文地址:https://www.cnblogs.com/kelly11/p/11857638.html
Copyright © 2011-2022 走看看