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

问题描述 投票:-1回答:2

该代码的目的是确定是否可以与给定的参数形成一个三角形。理论告诉我们两个任意边的总和应大于第三边,根据我的说法,它没有显示正确的答案。

我的任务是在参数允许的情况下返回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

如何确定在逻辑的哪一部分中我错了?

python python-3.x conditional-statements cpython
2个回答
1
投票

为了返回true,您必须满足all条件,而不仅仅是条件之一。因此,您的代码应为:

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))

这是将or更改为and。您可以了解有关Python逻辑运算符herehere的更多信息。


1
投票

更正和简化:

© www.soinside.com 2019 - 2024. All rights reserved.