基类三角形和正方形的Shape继承问题

时间:2016-09-09 18:40:35

标签: python inheritance

我一直收到错误。我希望程序显示我的三角类的区域。这是我的代码:

#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(最近一次调用最后一次):     File" C:/Users/Pentazoid/Desktop/PythonPrograms/inheritanceshape.py" ;,第31行,在       triangle_one =三角()   TypeError: init ()缺少2个必需的位置参数:' base'和'身高'

我做错了什么

1 个答案:

答案 0 :(得分:1)

你需要在构造函数调用中传递base和height,如下所示:

base=9
height=12
triangle_one=Triangle(base, height)