|
发表于 2023-9-12 08:49:27
|
显示全部楼层
第1题:
- class Shape:
- def __init__(self, vertices):
- self._vertices = vertices
-
- def get_vertices(self):
- return self._vertices
-
- def set_vertices(self, vertices):
- self._vertices = vertices
-
- def __eq__(self, other):
- return set(self._vertices) == set(other.get_vertices())
复制代码
在上述代码中,我们创建了一个名为 Shape 的类,该类接受一个顶点列表并将其存储为受保护的属性。我们还实现了三个方法:一个用于返回顶点列表,一个用于设置新的顶点列表,以及一个用于比较两个形状的顶点是否相同。
第2题:
- class Square:
- def __init__(self, origin, side_length):
- self._origin = origin
- self._side_length = side_length
- x, y = origin
- self._corners = [(x, y), (x + side_length, y), (x + side_length, y + side_length), (x, y + side_length)]
-
- def get_corners(self):
- return self._corners
-
- def __eq__(self, other):
- return self._origin == other._origin and self._side_length == other._side_length
-
- def __repr__(self):
- return ', '.join(str(corner) for corner in self._corners)
复制代码
在上述代码中,我们创建了一个名为 Square 的类,该类接受一个原点和边长,并通过计算正方形的角来创建自己的受保护顶点列表。我们还实现了三个方法:一个用于返回定义形状的顶点列表,一个用于比较两个正方形大小和原点是否相同,以及一个用于返回一个逗号分隔的角列表。 |
|