首页 新闻 会员 周边

python判断三角形问题

0
[已关闭问题] 关闭于 2013-12-10 17:25

任意一个长度大于其他两个长度的和,就不能组成三角形,反之,条件成立(包含两个长度的和等于第三个也算)。为什么下面的代码不能正确判断呢?比如a = 2, b =3, c = 5 应该是Yes,但结果是No,哪位高手知道为什么呀?
我应该如何修改呢?谢谢~~

def is_triangle(a, b, c):

    if (a > b+c) or (b > a+c) or (c > a+b):

        print 'No'    

    else:

        print 'Yes'

def input_var():

    a1 = raw_input('a=')

    b1 = raw_input('b=')

    c1 = raw_input('c=')

    is_triangle(a1, b1, c1)

input_var()

剀嫌的主页 剀嫌 | 菜鸟二级 | 园豆:204
提问于:2013-12-09 22:55
< >
分享
所有回答(1)
0

从你的程序中我看不出问题来,python语言我不懂,a,b,c是整数还是浮点数,如果是浮点数,可能是浮点数误差引起的,

你可以将程序改成这样,先定义一个很小值的常量 d = 0.000001

 if (a - b-c > 0.000001) or (b - a-c > 0.000001) or (c - a-b > 0.000001):

 print 'No'    

    else:

 print 'Yes'

叶飞影 | 园豆:213 (菜鸟二级) | 2013-12-10 17:21

谢谢,已解决。

支持(0) 反对(0) 剀嫌 | 园豆:204 (菜鸟二级) | 2013-12-10 17:24
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册