报错 AttributeError: 'float' object has no attribute 'x' 怎么解决
class Shape:
def __init__(self,x,y):
self.x = x
self.y = y
def area(self):
pass
class Rectangle(Shape):
def __init__(self,w,h):
Shape.__init__(self,w,h)
def area(self):
return self.x*self.y
class Triangle(Shape):
def __init__(self,a,b,c):
Shape.__init__(a,b,c)
def area(self):
return (((a+b+c)/2)-a)*(((a+b+c)/2)-b)*(((a+b+c)/2)-c)*((a+b+c)/2)
d1 = Rectangle(2.0,4.0)
d2 = Triangle(3.0,4.0,5.0)
print(d1.area(),d2.area())
Triangle的类定义改成这样试试呢
class Triangle(Shape):
def __init__(self,a,b,c):
self.a=a
self.b=b
self.c=c
def area(self):
return (((self.a+self.b+self.c)/2)-self.a)*(((self.a+self.b+self.c)/2)-self.b)*(((self.a+self.b+self.c)/2)-self.c)*((self.a+self.b+self.c)/2)
你这个不是参数数量不匹配吗