class Point(object):
''' A point on a grid at location x, y '''
def __init__(self, x, y):
self.X=x
self.Y=y
def __str__(self):
return "X=" + str(self.X), "Y=" + str(self.Y)
def __add__(self, other):
if not isinstance(other, Point):
raise TypeError("must be of type point")
x= self.X+ other.X
y= self.Y+ other.Y
return Point(x, y)
p1= Point(5, 8)
print p1 + [10, 12]
При попытке добавить список или кортеж в РИТ т.е. печати p1 + [10, 12], я получаюAttributeError: INT объект не имеет атрибута
attributeError: int object has no attribute
Как эта проблема может быть решена?
Я получаю 'TypeError (" должен быть типа точки ")'. Потому что вы добавляете тип, отличный от точки, к сути. Это именно то, что вы сказали вашему коду, в чем проблема? –
Вы не добавляете баллы. '[10, 12]' явно не равен «Точка (10,12)». Вы добавляете a) список в точку, b) указываете на список. В настоящее время обе операции не поддерживаются вашим кодом. первый может потенциально быть реализован (но на самом деле не должен), во-вторых, нет. –