我没有得到像True或False这样的结果,我哪里出错了?

时间:2020-06-07 09:06:54

标签: python

问题是:编写一个程序,该程序需要用户输入三个整数。然后将这三个整数传递给函数findIfTriangle()。在此功能中测试这三个 数字可以是三角形。如果是,请返回并打印True。如果不是,请返回并打印False。

功能结构:boolean findIfTriangle(list)

num1 = int(input("put a number: "))
num2 = int(input("put a number: "))
num3 = int(input("put a number: "))

def findIfTriangle(n1,n2,n3):
    if (n1 + n2 < n3) or (n2+n3 < n1) or (n1 + n3 < n2):
        return True
    else:
        return False
    print(findIfTriangle(num1,num2,num3))

3 个答案:

答案 0 :(得分:2)

我认为您应该尝试以下操作:

num1 = int(input("put a number: "))
num2 = int(input("put a number: "))
num3 = int(input("put a number: "))

def findIfTriangle(n1,n2,n3):
    return (n1 + n2 > n3) and (n2 + n3 > n1) and (n1 + n3 > n2)

print(findIfTriangle(num1, num2, num3))

答案 1 :(得分:-1)

您可以这样定义findIfTriangle:

def findIfTriangle(n1,n2,n3):
    if (n1 + n2 < n3) or (n2+n3 < n1) or (n1 + n3 < n2):
        print("false")
    else:
        print("true")

答案 2 :(得分:-1)

在打印true / false时无需再次调用该函数。由于没有条件会在某个时间点停止您的函数调用,因此将无限递归调用它。像这样定义您的功能:

    def findIfTriangle(n1,n2,n3):
        if (n1 + n2 < n3) or (n2+n3 < n1) or (n1 + n3 < n2):
            print("false")
        else:
            print("true")