2016-09-09 6 views
0

Я продолжаю получать ошибку. Я хочу, чтобы программа отображала область моего класса треугольников. Вот мой код:Проблемы с наследованием Shape для треугольников и квадратов базовых классов

#Parent class is Shape class 
#Child class is Triangle and Square class 

class Shape: 
    def __init__(self,base,height): 

     self.base=base 
     self.height=height 
def triangle_area(self): 
    return .5*self.base*self.height 

def square_area(self): 
    return self.base*self.height 


class Triangle(Shape): 
    def triangle_area(self): 
     return .5*self.base*self.height 
class Square(Shape): 
    def square_area(self): 
     return self.base*self.height 










triangle_one=Triangle() 
triangle_one.base=9 
triangle_one.height=12 
print("Area of triangle is",triangle_one.triangle_area()) 

А вот моя ошибка:

BlockquoteTraceback (most recent call last): File "C:/Users/Pentazoid/Desktop/PythonPrograms/inheritanceshape.py", line 31, in triangle_one=Triangle() TypeError: init() missing 2 required positional arguments: 'base' and 'height'

Что я делаю неправильно

+0

если ответ правильный, можете ли вы его принять? – Kafo

ответ

1

Вам необходимо пройти базу и высоту в вызове конструктора, как это:

base=9 
height=12 
triangle_one=Triangle(base, height) 
Смежные вопросы