函数测试1+2>3为真

Python/PHP/Perl 开发与设计
回复
头像
renxinzhi
帖子: 970
注册时间: 2007-11-02 13:46
送出感谢: 0
接收感谢: 1 次

函数测试1+2>3为真

#1

帖子 renxinzhi » 2012-10-29 17:03

代码: 全选

>>> 1 + 2 > 3
False
这是显而易见的。
使用(1, 2, 3)来测试函数,

代码: 全选

def isTriangle(x,y,z):
    if x+y > z:
        return True
    elif x+z > y:
        return True
    elif y+z > x:
        return True
    else:
        return False
结果报True。
为啥这样?
明察,慎思,笃行
头像
枫叶饭团
论坛版主
帖子: 14683
注册时间: 2010-06-16 1:05
系统: Mac OS X
来自: Tencent
送出感谢: 1 次
接收感谢: 132 次
联系:

Re: 函数测试1+2>3为真

#2

帖子 枫叶饭团 » 2012-10-29 17:07

因为1+3确实大于2
头像
renxinzhi
帖子: 970
注册时间: 2007-11-02 13:46
送出感谢: 0
接收感谢: 1 次

Re: 函数测试1+2>3为真

#3

帖子 renxinzhi » 2012-10-29 17:13

枫叶饭团 写了:因为1+3确实大于2
打破脑袋也没想到这点。 :em20
明察,慎思,笃行
头像
梨,半斤
帖子: 438
注册时间: 2009-03-08 22:37
送出感谢: 1 次
接收感谢: 1 次

Re: 函数测试1+2>3为真

#4

帖子 梨,半斤 » 2012-11-13 13:46

renxinzhi 写了:
枫叶饭团 写了:因为1+3确实大于2
打破脑袋也没想到这点。 :em20
两边之和大于第三边是有三个条件的,这三个条件需要同时满足,所以应该用逻辑与,用elseif当然就不合适了。
回复

回到 “Python/Php/Perl”