z911005 2021-07-21 09:29 采纳率: 100%
浏览 34
已采纳

用python语言表达

已知三点的坐标,首先判断是否构成三角形,如果能构成,则求该三角形的面积,否则提示无法构成三角形。

提示: (1)点(x1,y1)和 (x2,y2)之间的距离公式为d=√/(x1-x2)2+(Y1-y2)2;“

(2)构成三角形的条件:任二边之和大于第三边;”

(3)三角形的面积公式s=√p(p-a)(p-b)(p-c),若a.b,c 分别为三角形的边长,p=(a+b+C)/2

  • 写回答

1条回答 默认 最新

  • 葡萄城技术团队 葡萄城官方账号 2021-07-21 09:34
    关注

    参考方法:

    通过用户输入三角形三边长度,并计算三角形的面积

    已知三角形三边a,b,c,则

    (海伦公式)(p=(a+b+c)/2)

    S=sqrt[p(p-a)(p-b)(p-c)]

    =sqrt[(1/16)(a+b+c)(a+b-c)(a+c-b)(b+c-a)]

    =1/4sqrt[(a+b+c)(a+b-c)(a+c-b)(b+c-a)]

    import math

    import unicodedata

    定义函数判断输入数据是否为数字

    def is_number(s):

    try:

    float(s)

    return True

    except ValueError:

    pass

    try:

    unicodedata.digit(s) # digit 把一个合法的数字字符串转换为数字值

    return True

    except (TypeError, ValueError):

    pass

    return False

    def calculate(a, b, c):

    if is_number(a) and is_number(b) and is_number(c):

    a = float(a)

    b = float(b)

    c = float(c)

    if a > 0 and b > 0 and c >0:

    while a+b<=c or a+c<=b or b+c<=a:

    print("输入的边长无法构成三角形!!!")

    a = input('输入三角形边长a: ')

    b = input('输入三角形边长b: ')

    c = input('输入三角形边长c: ')

    calculate(a,b,c)

    p = (a+b+c)/2

    area = math.sqrt(p*(p - a)(p - b)(p - c))

    print("三角形面积为:%0.2f" %area)

    else:

    print("三角形的边长必须大于0,请输入大于0的数!!!")

    else:

    print('请输入数字类型!!!')

    a = input('输入三角形边长a: ')

    b = input('输入三角形边长b: ')

    c = input('输入三角形边长c: ')

    calculate(a,b,c)

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 已采纳回答 7月21日
  • 创建了问题 7月21日

悬赏问题

  • ¥20 删除和修改功能无法调用
  • ¥15 kafka topic 所有分副本数修改
  • ¥15 小程序中fit格式等运动数据文件怎样实现可视化?(包含心率信息))
  • ¥15 如何利用mmdetection3d中的get_flops.py文件计算fcos3d方法的flops?
  • ¥40 串口调试助手打开串口后,keil5的代码就停止了
  • ¥15 电脑最近经常蓝屏,求大家看看哪的问题
  • ¥60 高价有偿求java辅导。工程量较大,价格你定,联系确定辅导后将采纳你的答案。希望能给出完整详细代码,并能解释回答我关于代码的疑问疑问,代码要求如下,联系我会发文档
  • ¥50 C++五子棋AI程序编写
  • ¥30 求安卓设备利用一个typeC接口,同时实现向pc一边投屏一边上传数据的解决方案。
  • ¥15 SQL Server analysis services 服务安装失败