2016-09-09 83 views
0

我不断收到错误。我希望程序显示我的三角形课程的面积。这里是我的代码:基类三角形和正方形的形状继承问题

#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)