如何通过有效的正方形设计,优化并美化丑陋的代码结构?
- 内容介绍
- 文章标签
- 相关推荐
本文共计610个文字,预计阅读时间需要3分钟。
pythondef is_square(points): if len(points) !=4: return False x_coords=[p[0] for p in points] y_coords=[p[1] for p in points] if len(set(x_coords)) !=4 or len(set(y_coords)) !=4: return False return True
示例输入points=[[1, 1], [1, 5], [5, 5], [5, 1]]result=is_square(points)print(result)
给定2D空间中四个点的坐标 p1, p2, p3 和 p4,如果这四个点构成一个正方形,则返回 true 。点的坐标 pi 表示为 [xi, yi] 。输入 不是 按任何顺序给出的。一个 有效的正方形 有四条等边和四个等角(90度角)。
解:题目比较简单,按照定义去判断。我这里的思路是找到点p1的对角点,然后判断四条边相等(两组对面分别相等的四边形是平行四边形),并且有直角三角形(有直角的,并且四条边相等的平行四边形是正方形)。
本文共计610个文字,预计阅读时间需要3分钟。
pythondef is_square(points): if len(points) !=4: return False x_coords=[p[0] for p in points] y_coords=[p[1] for p in points] if len(set(x_coords)) !=4 or len(set(y_coords)) !=4: return False return True
示例输入points=[[1, 1], [1, 5], [5, 5], [5, 1]]result=is_square(points)print(result)
给定2D空间中四个点的坐标 p1, p2, p3 和 p4,如果这四个点构成一个正方形,则返回 true 。点的坐标 pi 表示为 [xi, yi] 。输入 不是 按任何顺序给出的。一个 有效的正方形 有四条等边和四个等角(90度角)。
解:题目比较简单,按照定义去判断。我这里的思路是找到点p1的对角点,然后判断四条边相等(两组对面分别相等的四边形是平行四边形),并且有直角三角形(有直角的,并且四条边相等的平行四边形是正方形)。

