我正在学习CodeAcademy(Python)的课程。
以下是说明:
向Animal类添加第二个成员变量health,并将其设置为字符串“good”。然后,创造两个新的动物:懒惰和豹猫。 (给他们任何你喜欢的名字或年龄。)继续打印你的河马,懒惰和猫眼的健康。
这是我的代码:
class Animal(object):
"""Makes cute animals."""
is_alive = True
health = "Good"
def __init__(self, name, age):
self.name = name
self.age = age
def description(self):
print self.name
print self.age
print self.is_alive
print self.health
hippo = Animal("Mary", 02)
sloth = Animal("Larry", 03)
ocelot = Animal("Karry", 04)
hippo.description()
sloth.description()
ocelot.description()
Code Academy返回:
“哎呀,再试一次。看起来你的三只动物并不都有”好“的健康。”
然而,当我输入代码时,所有这些代码都打印出“Good”。它看起来像这样:
玛丽 2 真正 好 拉里 3 真正 好 开瑞 4 真正 好
CodeAcademy描述的错误是什么?在此学习过程中,您将获得任何帮助或建议。
谢谢你提前。
答案 0 :(得分:0)
你把第一个字母大写:“好”。 试试“好”。
此外,您正在类范围中设置类变量。在Python中,您希望为成员变量设置self.health = "good"
。如果您在class Class
下定义变量,它们将在类范围内,并且跨实例是全局的。
答案 1 :(得分:0)
我已经完成了Codecedemy,这是我的代码。
class Animal(object):
"""Makes cute animals."""
is_alive = True
health = "good"
def __init__(self, name, age):
self.name = name
self.age = age
# Add your method here!
def description(self):
print self.name
print self.age
hippo = Animal("Bob",100)
sloth = Animal("Sam", 1000000)
ocelot = Animal("Katherine", 3)
print hippo.is_alive, hippo.description
print hippo.health
print sloth.health
print ocelot.health