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 拟通过pc下指令到安卓系统,如果追求响应速度,尽可能无延迟,是不是用安卓模拟器会优于实体的安卓手机?如果是,可以快多少毫秒?
  • ¥20 神经网络Sequential name=sequential, built=False
  • ¥16 Qphython 用xlrd读取excel报错
  • ¥15 单片机学习顺序问题!!
  • ¥15 ikuai客户端多拨vpn,重启总是有个别重拨不上
  • ¥20 关于#anlogic#sdram#的问题,如何解决?(关键词-performance)
  • ¥15 相敏解调 matlab
  • ¥15 求lingo代码和思路
  • ¥15 公交车和无人机协同运输
  • ¥15 stm32代码移植没反应