Игорь Качушкин, 314 группа MatchSquare 15830
Князев Максим Алексеевич, 319/2 MatchSquare 17194
t1class Square:t1class Square:
2    __match_args__ = ('x', 'y', 'w')2    __match_args__ = ('x', 'y', 'w')
33
4    def __init__(self, x, y, w):4    def __init__(self, x, y, w):
5        self._x = x5        self._x = x
6        self._y = y6        self._y = y
7        self._w = w7        self._w = w
88
9    @property9    @property
10    def x(self):10    def x(self):
11        return self._x11        return self._x
1212
13    @x.setter13    @x.setter
14    def x(self, value):14    def x(self, value):
15        self._x = value15        self._x = value
1616
17    @property17    @property
18    def y(self):18    def y(self):
19        return self._y19        return self._y
2020
21    @y.setter21    @y.setter
22    def y(self, value):22    def y(self, value):
23        self._y = value23        self._y = value
2424
25    @property25    @property
26    def w(self):26    def w(self):
27        return self._w27        return self._w
2828
29    @w.setter29    @w.setter
30    def w(self, value):30    def w(self, value):
31        self._w = value31        self._w = value
3232
33    @property33    @property
34    def h(self):34    def h(self):
35        return self._w35        return self._w
3636
37    @h.setter37    @h.setter
38    def h(self, value):38    def h(self, value):
39        self._w = value39        self._w = value
4040
41    @property41    @property
42    def s(self):42    def s(self):
43        return self._w * self._w43        return self._w * self._w
4444
45    @s.setter45    @s.setter
46    def s(self, value):46    def s(self, value):
47        pass47        pass
4848
49    @property49    @property
50    def center(self):50    def center(self):
51        half_w = self._w / 251        half_w = self._w / 2
52        return (self._x + half_w, self._y + half_w)52        return (self._x + half_w, self._y + half_w)
5353
54    @center.setter54    @center.setter
55    def center(self, center):55    def center(self, center):
56        x, y = center[:2]56        x, y = center[:2]
57        half_w = self._w / 257        half_w = self._w / 2
58        if len(center) > 2:58        if len(center) > 2:
59            x, y = (x + center[2], y + center[3])59            x, y = (x + center[2], y + center[3])
60        self._x, self._y = (x - half_w, y - half_w)60        self._x, self._y = (x - half_w, y - half_w)
6161
62    def __str__(self):62    def __str__(self):
63        return '{}:{}×{}'.format(self._x, self._y, self._w)63        return '{}:{}×{}'.format(self._x, self._y, self._w)
Legends
Colors
 Added 
Changed
Deleted
Links
(f)irst change
(n)ext change
(t)op