104Triangle Area三角面积

够计算三角形的面积非常重要,因为通常可以轻松地将许多更复杂的任务简化为三角形(我们将在稍后使用它)。

Heron公式是最古老的已知方法之一,该公式将三角形边的长度作为输入。

但是,在此问题中,您将编写一个使用三角形顶点的X和Y坐标的程序。 因此,您可以以某种方式使用此公式,也可以找到另一个公式。

输入数据将包含要处理的三角形数量。
下一行将按顺序X1 Y1 X2 Y2 X3 Y3包含6个值,描述一个三角形的三个顶点。
答案应给出以空格分隔的三角形区域(预期精度约为1e-7)。

例:

data:
3
1 3 9 5 6 0
1 0 0 1 10000 10000
7886 5954 9953 2425 6250 2108

answer:
17 9999.5 6861563

代码

import math
def triangel_area(a,b,c):
    if a+b>c and a+c>b and b+c>a:
        d=(a+b+c)/2
        s=math.sqrt(d*(d-a)*(d-b)*(d-c))
        return s
    else:
        print("无法构成三角形")
def  coordinate_sidelength(x1,y1,x2,y2):
    return math.sqrt((y2-y1)**2+(x2-x1)**2)
num=input()
result=[]
for i in range(int(num)):
    line_input=list(map(int,input().split()))
    a=coordinate_sidelength(line_input[0],line_input[1],line_input[2],line_input[3])
    b=coordinate_sidelength(line_input[0],line_input[1],line_input[4],line_input[5])
    c=coordinate_sidelength(line_input[2],line_input[3],line_input[4],line_input[5])
    result.append(round(triangel_area(a,b,c),7))
print(*result)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值