【Python】任意三个点构成的三角形的面积

代码如下:

def triangle_area(x1, y1, x2, y2, x3, y3):
    """
    计算由三个点A(x1, y1), B(x2, y2), C(x3, y3)构成的三角形的面积。
    """
    # 使用行列式方法计算面积
    # 面积 = 0.5 * |x1(y2-y3) + x2(y3-y1) + x3(y1-y2)|
    area = 0.5 * abs(x1 * (y2 - y3) + x2 * (y3 - y1) + x3 * (y1 - y2))
    return area

# 允许用户输入A, B, C三个点的坐标。格式为:0 4、5 8这类的
x1, y1 = map(float, input("请输入点A的坐标(x y): ").split())
x2, y2 = map(float, input("请输入点B的坐标(x y): ").split())
x3, y3 = map(float, input("请输入点C的坐标(x y): ").split())

# 计算并打印三角形的面积
area = triangle_area(x1, y1, x2, y2, x3, y3)
print(f"由点A({x1},{y1}), B({x2},{y2}), C({x3},{y3})构成的三角形的面积为: {area}")

这段代码通过行列式,能够计算出坐标系上任意三个点所构成的三角形的面积。经我亲身测试,基本上最慢也只需要花半秒钟

千万不要输入超大的坐标啊!比如45689 8689

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值