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日

悬赏问题

  • ¥15 echarts动画效果失效的问题。官网下载的例子。
  • ¥60 许可证msc licensing软件报错显示已有相同版本软件,但是下一步显示无法读取日志目录。
  • ¥15 Attention is all you need 的代码运行
  • ¥15 一个服务器已经有一个系统了如果用usb再装一个系统,原来的系统会被覆盖掉吗
  • ¥15 使用esm_msa1_t12_100M_UR50S蛋白质语言模型进行零样本预测时,终端显示出了sequence handled的进度条,但是并不出结果就自动终止回到命令提示行了是怎么回事:
  • ¥15 前置放大电路与功率放大电路相连放大倍数出现问题
  • ¥30 关于<main>标签页面跳转的问题
  • ¥80 部署运行web自动化项目
  • ¥15 腾讯云如何建立同一个项目中物模型之间的联系
  • ¥30 VMware 云桌面水印如何添加