2012-04-16 3 views
0
class Rectangle(object): 

def __init__(self, (top left corner), width, height): 
    """ 
    __init__(self, (x, y), integer, integer) 
    """ 

    self._x = x 
    self._y = y 
    self._width = width 
    self._height = height 

def get_bottom_right(self): 
    x + self.width = d 
    y + self.height = t 

return '' + d,t 

Так что я пытаюсь создать класс для прямоугольника, я пытаюсь найти нижний правый прямоугольник. нижний правый прямоугольник можно найти, добавив высоту и ширину в верхний левый угол. например. (2,3), 4,7 сделает нижний угол равным (6,10). однако, я не верю, что мой код прав. это мой первый опыт использования классов, поэтому некоторые подсказки и трюки о том, как интерпретировать это, будут очень полезны.Определение класса в python в python

+0

Когда вы отправляете код, вы можете убедиться, что он отформатирован правильно, поскольку он имеет значение в python. –

+0

Извините, я буду помнить об этом в следующий раз, когда я опубликую. –

ответ

4

Я думаю, что вы хотите, это

class Rectangle(object): 
    def __init__(self, top_corner, width, height): 
    self._x = top_corner[0] 
    self._y = top_corner[1] 
    self._width = width 
    self._height = height 

    def get_bottom_right(self): 
    d = self._x + self.width 
    t = self._y + self.height 
    return (d,t) 

Вы можете использовать это как этот

# Makes a rectangle at (2, 4) with width 
# 6 and height 10 
rect = new Rectangle((2, 4), 6, 10) 

# Returns (8, 14) 
bottom_right = rect.get_bottom_right 

Кроме того, вы могли бы, вероятно, сэкономьте некоторое время, сделав Point класс

class Point(object): 
    def __init__(self, x, y): 
     self.x = x 
     self.y = y 
+0

спасибо, это то, что я хотел. Я не знал, как определить top_corner с x и y. –

1
class Rectangle(object): 
    def __init__(self, pos, width, height): 
    self._x = pos[0] 
    self._y = pos[1] 
    self._width = width 
    self._height = height 
    def get_bottom_right(self): 
    d = self._x + self._width 
    t = self._y + self._height 
    return d,t 

Код работает здесь: http://codepad.org/VfqMfXrt

+0

Я хочу найти нижнюю часть прямоугольника. в основном я хочу добавить topleftcorner (который будет x, y) и добавить ширину к x и высоту в y. спасибо за ваш ответ, хотя –

+0

отредактировал ответ. – hjpotter92

Смежные вопросы