这是一个大约形状,我将提供坐标,但无法存储 这是我的班级代码
class point():
def __init__(self,x,y):
self.x = x
self.y = y
class Rectangle():
def __init__(self,left,right,position):
self.left = left#point
self.right = right#point
self.position = position
我将为我们建立类列表:
rectangleArray = []
point = list(input().split())//input data
judge = point[0] //list[0] is judge shape so pop
point.pop(0)
point = [float(l) for l in point] //str convert float
if(judge=='*'):
break
if(judge=='r'):
temp = Rectangle(point(8.5,17.0),point(25.5,-8.5),0)
temp =
Rectangle(point(point[0],point[1]),point(point[2],point[3]),number)
rFinal = rFinal + 1
rectangleArray.append(temp)// append to list
我的错误是:
typeError Traceback (most recent call last)
<ipython-input-138-9ba8926badc6> in <module>()
15 break
16 if(judge=='r'):
---> 17 temp = Rectangle(point(8.5,17.0),point(25.5,-8.5),0)
18 temp = Rectangle(point(point[0],point[1]),point(point[2],point[3]),number)
19 rFinal = rFinal + 1
TypeError: 'list' object is not callable
请告诉我为什么! 谢谢
答案 0 :(得分:0)
您将名为point
(即list
)的变量与类point
混合。
您需要使用其他名称,例如使用{{3}}
class Point():
def __init__(self,x,y):
self.x = x
self.y = y
然后在代码中:
temp = Rectangle(Point(8.5,17.0),Point(25.5,-8.5),0)
temp = Rectangle(Point(point[0],point[1]),Point(point[2],point[3]),number)
答案 1 :(得分:0)
您同时定义了类point
和变量point
。因为稍后要定义变量point
,所以它会遮盖类定义。将类重命名为大写Point
并调用Rectangle(Point(8.5,17.0),Point(25.5,-8.5),0)
(请参见大写)应该可以解决该错误。
有帮助吗?