三角区 - 蟒蛇27

nut*_*hip 0 python sqrt python-2.7

程序设置为计算三角形的面积.三角形边(a,b,c)是输入.该代码仅适用于certian编号,而不适用于其他编号.例如

当a,b和c分别为:2,3,4代码没问题.2,3,5输出0.00这是错误的.2,3,6程序打印数学域错误

def main():
    print "Program calculates the area of a triangle."
    print
    a, b, c = input("Enter triangle's sides length: ")
    s = (a+b+c) / 2.0
    area = sqrt(s*(s-a)*(s-b)*(s-c))
    print "The area is %.2f" % area

main()
Run Code Online (Sandbox Code Playgroud)

你能看出什么是错的吗?

DSM*_*DSM 7

公式正在运作; 这是你的期望,有点偏.

2,3,5输出0.00这是错误的.

真?你能画一个边长为2,3和5的三角形吗?:^)唯一的可能性是退化三角形 - 一条线(一个2英寸的段连接到一个3英寸的段),显然没有区域.

并非三个数字的每个组合都是三角形.你需要有a+b>c,b+c>ac+a>b.对于(2,3,6),你有

3+6 > 2并且6+2 > 3,但是2+3 < 6,所以没有这样的三角形.