我想在我的形状类中创建一个直角三角形类。三角形带有1个参数:3个坐标元组的列表。
示例:
__init__(self, vertices):
self.vertices = vertices
以下是一个实例:
t = RightAngledTriangle([(0, 0), (0, 4), (3, 4)])
该类需要具有一个将所有顶点输出为元组列表的函数,但是如果我尝试
return self.vertices
我知道
'TypeError: 'list' object is not callable'
RightAngledTriangle(Shape)类:
def __init__(self, vertices):
self.vertices = vertices
self.origin = self.vertices[0]
self.x_points = []
self.y_points = []
for i in self.vertices:
self.x_points.append(i[0])
self.y_points.append(i[1])
def area(self):
return 0.5 * (max(self.x_points) - min(self.x_points)) * (max(self.y_points) - min(self.y_points))
def vertices(self):
return self.vertices
预期输出:
t.vertices() -> [(0, 0), (0, 4), (3, 4)]
测试结果:
'list' object is not callable
答案 0 :(得分:0)
您的类具有名称相同的属性vertices
和方法vertices()
。那是不允许的。方法area()
之所以有效,是因为没有与之冲突的area
属性。