Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何调试Python代码以检查数据是否可以形成三角形_Python_Python 3.x_Conditional Statements_Cpython - Fatal编程技术网

如何调试Python代码以检查数据是否可以形成三角形

如何调试Python代码以检查数据是否可以形成三角形,python,python-3.x,conditional-statements,cpython,Python,Python 3.x,Conditional Statements,Cpython,代码的目的是找出是否有可能用给定的参数形成一个三角形。理论告诉我们,任意两个边的和应该大于第三个边,根据我的编码,但它没有给出正确的答案 我的任务是返回True,如果参数使其成为可能,则返回False def isItATriangle(a, b, c): if a + b > c or a + c > b or b + c > a: return True else: return False print(isItATria

代码的目的是找出是否有可能用给定的参数形成一个三角形。理论告诉我们,任意两个边的和应该大于第三个边,根据我的编码,但它没有给出正确的答案

我的任务是返回True,如果参数使其成为可能,则返回False

def isItATriangle(a, b, c):
    if a + b > c or a + c > b or b + c > a:
        return True

    else:
        return False

print(isItATriangle(1 , 1, 3))
为什么代码不能正常工作

而不是

if a + b > c or a + c > b or b + c > a:
            return True

        else:
            return False
右主代码显示了这一点

if a + b <= c:
        return False
    if b + c <= a:
        return False
    if c + a <= b:
        return False
    return True

如果a+b要返回true,必须满足所有条件,而不仅仅是其中一个条件。因此,您的代码应该是:

def isItATriangle(a, b, c):
    if a + b > c and a + c > b and b + c > a:
        return True

    else:
        return False

print(isItATriangle(1 , 1, 3))

这就是,更改
。您可以了解有关Python逻辑运算符或的更多信息。

更正和简化:

def isItATriangle(a, b, c):
    return a + b > c and a + c > b and b + c > a:

print(isItATriangle(1 , 1, 3))

您的
s应该是
s。用参数(10,1,1)尝试你的函数。这与你的问题无关(khelwood正确地诊断了这个问题),但我要指出的是,如果某个条件:返回True,否则:返回False,你可以只做
返回某个条件(或者
bool(某个条件))
如果您确实需要布尔值,但还没有布尔值)。