Здесь я сосредоточился на моем классе Carpet, который создает объекты с помощью класса Rectangle. В настоящее время, когда я запускаю операторы печати в конце, мои результаты: 3, 4, 1,99, None, 23,88. Все они кажутся правильными, за исключением строки None, которая должна быть 12 (на основе carp_1 = Carpet (3, 4)). Я ввожу неправильный оператор печати для проверки метода getArea класса Carpet, или метод getArea полностью неверен? (Все для класса Rug работало как положено). Заранее спасибо!
class Rectangle:
# initialize
def __init__(self, length, width):
self.length = length
self.width = width
# length pair
def getLength(self):
return self.length
def setLength(self, length):
self.length = length
#width pair
def getWidth(self):
return self.width
def setWidth(self, width):
self.width = width
class Rug(Rectangle):
def __init__(self, length = 5, width = 7, price = 34.99):
super().__init__(length, width)
self.price = '$' + str(price)
def getPrice(self):
return self.price
class Carpet(Rectangle):
def __init__(self, length, width, price_per_square_foot = 1.99):
super().__init__(length, width)
self.price_per_square_foot = price_per_square_foot
def getArea(self):
self.area = self.length * self.width
def getPrice(self):
return self.area * self.price_per_square_foot
carp_1 = Carpet(3, 4)
print(carp_1.length)
print(carp_1.width)
print(carp_1.price_per_square_foot)
print(carp_1.getArea())
print(carp_1.getPrice())
'''rug_1 = Rug()
print(rug_1.length)
print(rug_1.width)
print(rug_1.price)'''