编程练习程序出现错误
来源: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()
2回答
好帮手乔木
2020-02-16
同学你好:
1、同学的init拼写错误。

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

3、同学id_num的默认值为'2018014002',为了达到编程给出的效果,同学可以参考:
将条件判断的id值改为'2018014002'

如果我解决了同学的问题,请采纳!学习愉快^_^。
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()