Python OOP Результаты теста не соответствуют назначению - PullRequest
0 голосов
/ 21 июня 2020

Здесь я сосредоточился на моем классе 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)'''

Ответы [ 2 ]

1 голос
/ 21 июня 2020

Вам необходимо добавить оператор возврата к методу getArea. Должно получиться так:

def getArea(self):
    self.area = self.length * self.width
    return self.area
1 голос
/ 21 июня 2020

Вы должны вернуть послесловие self.length * self.width

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...