编程练习程序出现错误

来源:2-3 编程练习

玖__

2020-02-15 17:52:54

class Person(object):
    def __init__(self,name,gender):
        self.name = name
        self.gender = gender

    def relation(self):
        pass

    def speak(self):
        print("hello!我是{}".format(self.name))

class Student(Person):
    def __inif__(self,name,gender,score,major,id_num='2018014002'):
        super(Student, self).__init__(name,gender)
        self.score = score
        self.major = major
        self.id = id_num

    def speak(self):
        super(Student,self).speak()
        print("我的学号为{},很高兴认识大家".format(self.id))

    def identify_stu(self):
        if self.id == "2018012002":
            print("我的分组已经完成")
        else:
            print("请稍候,马上为你自动分组")

    def set_num(self,new_num):
        self.id = new_num

    def relation(self):
        if issubclass(Student,Person):
            print("我的父亲是Person")
        else:
            print("父类正在查询中.....")


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.id(2018040625)
    # 调用实例方法 打印stu_2对应的值
    stu_2.speak()
    # 调用实例方法 鉴别学号是否为指定值
    stu_2.identify_stu()

http://img.mukewang.com/climg/5e47bf67086ee47e16000866.jpg

写回答

2回答

好帮手乔木

2020-02-16

同学你好:

1、同学的init拼写错误。

http://img.mukewang.com/climg/5e48ba09096e127f06830194.jpg

2、同学需要调用set_num方法。

http://img.mukewang.com/climg/5e48ba2109f40c0f02750069.jpg

3、同学id_num的默认值为'2018014002',为了达到编程给出的效果,同学可以参考:

将条件判断的id值改为'2018014002'

http://img.mukewang.com/climg/5e48bac80923e28f05180213.jpg

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


0

Kepler_

2020-02-15

同学,您好:

同学错误的地方我已经更改过来了,同学可以复制到PyCharm中进行查看,错误的地方的原因~

同学可以稍微理解一下代码错误的情况~~~

class Person(object):
   def __init__(self,name,gender):
       self.name = name
       self.gender = gender

   def relation(self):
       pass

   def speak(self):
       print("hello!我是{}".format(self.name))


class Student(Person):

   "def __inif__(self,name,gender,score,major,id_num='2018014002')"
   def __init__(self,name,gender,score,major,id_num='2018014002'):
       super(Student, self).__init__(name,gender)
       self.score = score
       self.major = major
       self.id = id_num

   def speak(self):
       super(Student,self).speak()
       print("我的学号为{},很高兴认识大家".format(self.id))

   def identify_stu(self):
       'if self.id == "2018012002":'
       if self.id == "2018014002":
           print("我的分组已经完成")
       else:
           print("请稍候,马上为你自动分组")

   def set_num(self,new_num):
       self.id = new_num

   def relation(self):
       if issubclass(Student,Person):
           print("我的父亲是Person")
       else:
           print("父类正在查询中.....")


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.id(2018040625)
   stu_2.set_num(2018040625)
   # 调用实例方法 打印stu_2对应的值
   stu_2.speak()
   # 调用实例方法 鉴别学号是否为指定值
   stu_2.identify_stu()

0
hepler_
h 如果我解决了同学的问题,请采纳!祝学习愉快~~~
h020-02-15
共1条回复

0 学习 · 8160 问题

查看课程