0
这是一个练习代码。除了如何进行权重比较外,我了解所有内容。我想要另一个重量是40并打印“Spot Wins!”面向对象编程(Python)代码
class Pet:
def __init__(self,myname,mykind,myweight,mycost):
self.name = myname
self.kind = mykind
self.weight = myweight
self.cost = mycost
self.speak()
self.isexpensive()
# self.battle(40) This is where the error happens
def speak(self):
if self.kind == 'dog':
print('Woof!')
elif self.kind == 'cat':
print('Meow!')
else:
print('I am mute')
def battle(self,other):
if self.weight > other.weight:
print(self.name + ' wins!')
else:
print(other.name + ' wins!')
def grow(self):
self.weight = self.weight + 5
def isexpensive(self):
if self.cost > 500:
return True
else:
return False
spot = Pet('Spot','dog',50,550)
您不要在构造函数中放置'self.battle(40)'。你稍后在Pet类的**实例**上调用'spot.battle(Pet(...))'。 –