三角形已知三边求周长面积

img


import math
a=int(input())
b=int(input())
c=int(input())
zc,mj,s=0,0,0
if a+b>c and a+c>b and b+c>a:
  zc=a+b+c
  p=zc/2
  mj=math.sqrt((p*(p-a)*(p-b)*(p-c)))
  zc=str(zc)
  mj=str(mj)
  print(" 可以构成三角形 周长: {} 面积: {}".format(zc,mj))
else:
  print("不可以构成三角形")

结果运行和示例完全一致,但是解答错误,有没有熟悉清览的朋友告诉我为什么错了?

首先题目没说边长一定是整数,所以把 int(input()) 改为 eval(input())
其次11,12行去掉,多余的吧没必要转字串;
变量s也没用到过去掉,数学库也多余用**0.5即可
还有输出中的空格,检查程序会不会严格检测不知道
最后,三角形的判断可以优化,如以下代码:

zc = a,b,c = eval(input()),eval(input()),eval(input())
if sum(zc) > 2*max(zc):
    zc = sum(zc)
    p = zc/2
    mj = (p*(p-a)*(p-b)*(p-c))**0.5
    print("可以构成三角形 周长:{} 面积:{}".format(zc,mj))
else:
    print("不可以构成三角形")

题目有没有不可以构成三角形的输出范例?