后面越来越难呀,编了一个多小时才编出来,老师帮看看有什么要修改的吗

来源:2-3 编程练习

老中医学编程

2019-05-28 09:36:31

class Person(object):

    # 重写实例对象的构造(初始化)方法 

    def __init__(self, name, gender):

        self.name = name

        self.gender = gender

    # 自定义实例方法,格式化打印实例属性name的值

    def speak(self):

        print('hello!我是{0}'.format(self.name))

    # 自定义实例方法,占位作用 

    def relation(self):

        pass

       

class Student(Person):


     # 重写实例对象的构造(初始化)方法,并调用父类构造方法,实现对实例属性的赋值

    def __init__(self, name, gender, score, majon, stu_num=2018014002):

        super(Student, self).__init__(name, gender)

        self.score = score

        self.majon = majon

        self.__stu_num = stu_num

     # 自定义实例方法,格式化打印实例属性stu_num的值

    def speak(self):

        super(Student, self).speak()

        print('我的学号为{0},很高兴认识大家'.format(self.__stu_num))

     # 自定义实例方法,判断学号是否为既定值,并根据判断结构 进行分类打印 

    def identify_stu(self):

        if self.__stu_num == 2018014002:

            print('我的分组以及完成')

        else:

            print('请稍后,马上为你自动分组')

     # 自定义实例方法,设置实例对象的学号为传入的值

    def set_num(self, new_num):

        self.__stu_num = new_num

        return self.__stu_num

     # 自定义实例方法,判断该类是否为Person类的子类,并进行分类打印

    def relation(self):

        if issubclass(Student, Person):

            print('我的父亲是Person')

if __name__ == '__main__':

    stu = Student('小明', '男', 90, '数学')

    # 调用speak方法 打印stu对应的值

    stu.speak()

    # 调用实例方法 鉴别学号是否为指定值

    stu.identify_stu()

    # 调用实例方法 鉴别实例对象所属的类的父类是否为Person

    stu.relation()

    print("******************")

    stu_2 = Student('小红', '女', 89, '英语')

    # 调用实例方法 设置stu_2的学号为'2018040625'

    stu_2.set_num(2018040625)

    # 调用实例方法 打印stu_2对应的值

    stu_2.speak()

    # 调用实例方法 鉴别学号是否为指定值

    stu_2.identify_stu()


写回答

1回答

时间,

2019-05-28

同学,你好,同学的写法是可以的,功能已经实现了,不错哦。

学习一门新的技能都会是从基础到难的过程,在学习过程中遇到听不懂的知识可以反复多听几遍视频,然后多加练习,理论与实践相结合会更有效。在学习过程中有不明白的地方可以先百度一下,提高自己解决问题的能力,同时也可以在问答区提问。

如果我的回答解决了您的疑惑,请采纳!祝学习愉快~~~~

0

0 学习 · 8160 问题

查看课程