Здравствуйте, я пытаюсь сделать этот прямоугольник перемещенным к определенным координатам без изменения ширины и высоты прямоугольника. Когда я использую метод __str__
, я не получаю правильный ответ. Любые идеи, что происходит не так? Вот мой кодPython Класс: moving rectangle
class Rectangle(object):
def __init__(self,corner,width,height):
self._x = corner[0]
self._y = corner[1]
self._width = width
self._height = height
def get_bottom_right(self):
self._width = self._x + self._width
self._height = self._y + self._height
return(self._width,self._height)
def move(self,p):
self._p = self._x, self._y
def resize(self,width,height):
resize = self._width + self._height
return(resize)
def __str__(self):
return '({0}, {1})'.format((self._x, self._y), (self._x + self._width, self._y + self._height))
Что такое «правильный ответ»? Какой ответ вы получаете? Покажите нам данные, которые вы передаете своему экземпляру 'Rectangle'. – dano
В качестве побочного примечания, если у вас возникли проблемы с изменением состояния, возможно, вам следует сначала попытаться написать не мутирующие функции, такие как 'move (self, p)', который возвращает новый 'Rectangle', который является этим один переместился в 'p'. Может быть проще продумать, что происходит в 'return Rectangle (...)', чем в 'self._foo = ...'. – abarnert