2016-09-09 82 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)