Dies ist ein Übungscode. Ich verstehe alles außer, wie man die Gewichte vergleicht. Ich möchte, dass das andere Gewicht 40 ist und "Spot Wins!"Objektorientierte Programmierung (Python) Code
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)
Sie setzen 'self.battle (40)' nicht im Konstruktor. Sie rufen 'spot.battle (Pet (...))' später auf der ** Instanz ** der Pet-Klasse auf. –