我在为学校做额外的学分分配。以下是说明:
状态(属性)
动作(方法):
在主代码上,创建两个对象:Spot
,Barney
当您在主代码中调用它时,它将给出以下结果:
Spot = Dog()
Spot.bark("I'm Spot")
I'm Spot : Ruff Ruff
print(Spot.color)
yellow
Barney = Dog()
Barney.bark("Grrrrr")
Grrrrr : Ruff Ruff*
所以我完成了这个程序,但是当我把我的两个参数放入“Main()”函数时,它说“Spot未定义”。我真的想不出应该在哪里或者为什么定义它。我一切都好吗?任何帮助都将不胜感激
这是我的代码:
class Dog:
def _init_ (self, dog_name, color, legs):
self.dog_name = dog_name
self.color = yellow
self.legs= 4
def set_name(self, dog_name):
self.dog_name = dog_name
def get_name (self):
return self.dog_name
def color (self):
return self.color
def legs(self):
return legs
def Bark(string):
print(str(string) + " : " + "Ruff Ruff")
def Main (dog1, dog2):
dog1 = Dog()
dog2 = Dog()
dog1.bark("I'm Spot")
print(dog1.color)
dog2.bark("Grrrrr")
Main(Spot, Barney)
这里有很多小问题需要解决。首先,确保
_init_
写为__init__
。第二,为color
和legs
提供默认参数,而不是在self.color = 'yellow'
中对它们进行硬编码bark
方法在一个地方大写,但在其他地方不大写-保持一致。同样在bark
方法中,传入self
以使其保持Dog
方法最后,也是最重要的一点,主要方法需要大修
Main(Spot, Barney)
在Spot
和Barney
中传递,这两个变量都是未定义的变量。但是,即使定义了它们,main方法也会覆盖它所接受的参数:在这里,不要向main方法传递任何参数。相反,将
Spot
和Barney
定义为Main()
中Dog
的实例。最后的代码应该是这样的:相关问题 更多 >
编程相关推荐