判断四个点是不是组成正方形
给出几组数,每组的第一行为横坐标,第二行为纵坐标。看其是否组成正方形
代码
import sys
if __name__ == "__main__":
n=3
ans = 0
arr = [[0,0,2,2],[0,2,0,2],[0,1,5,6],[1,6,0,5],[0,0,7,7],[0,3,0,3]]
print(arr)
i=0
while i<len(arr)-1:
print(arr[i])
print(arr[i + 1])
point0 = [arr[i][0],arr[i+1][0]]
point1 = [arr[i][1], arr[i + 1][1]]
point2 = [arr[i][2], arr[i + 1][2]]
point3 = [arr[i][3], arr[i + 1][3]]
len1 = ((point0[0] - point1[0]) ** 2 + (point0[1] - point1[1]) ** 2)
len2 = ((point0[0] - point2[0]) ** 2 + (point0[1] - point2[1]) ** 2)
len3 = ((point0[0] - point3[0]) ** 2 + (point0[1] - point3[1]) ** 2)
len4 = ((point1[0] - point2[0]) ** 2 + (point1[1] - point2[1]) ** 2)
len5 = ((point1[0] - point3[0]) ** 2 + (point1[1] - point3[1]) ** 2)
len6 = ((point2[0] - point3[0]) ** 2 + (point2[1] - point3[1]) ** 2)
arr2=[len1,len2 ,len3,len4,len5,len6]
dict = {}
for item in arr2:
if item in dict.keys():
dict[item] = dict[item]+1
else:
dict[item] = 1
print(dict)
if (len(dict)==2) and (dict[len1]==2 or dict[len1]==4):
print('Yes')
else:
print('No')
i = i + 2