判断四个点是不是组成正方形

本文提供了一段Python代码,用于判断平面上四个点是否能构成一个正方形。通过计算各点之间的距离并分析距离的种类及数量来实现判断。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

判断四个点是不是组成正方形

给出几组数,每组的第一行为横坐标,第二行为纵坐标。看其是否组成正方形

代码

#coding=utf-8
import sys
if __name__ == "__main__":
    # 读取第一行的n
    # n = int(sys.stdin.readline().strip())
    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]]
    # for i in range(2*n):
        # 读取每一行
        # line = sys.stdin.readline().strip()
        # 把每一行的数字分隔后转化成int列表
        # values = list(map(int, line.split()))
        # for v in values:
        #     ans += v
        #     arr.append(v)
        # arr.append(values)
    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
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值