Python控制台一直要求用户输入的次数超过

时间:2017-11-15 18:36:19

标签: python-3.x

我正在尝试学习函数并创建了一个小代码def函数来确定给出的测量值是否会产生直角三角形。然而,每当我尝试运行它时,我不止一次被问到同样的问题。

我制作的当前代码是:

def is_rightangle():
    a=int(input("Enter a triangle length: "))
    b=int(input("Enter a triangle length: "))
    c=int(input("Enter a triangle length: "))

if (a*a + b*b == c*c or c*c + b*b == a*a or a*a + c*c == b*b):
    return True
else:
    return False

is_rightangle()
print (is_rightangle())

控制台返回Enter a triangle length: 6次而不是3次,a,b和c的值。

据我所见,我没有让Python问过这个问题超过3次,这就是为什么我感到困惑。

1 个答案:

答案 0 :(得分:0)

当你这样写:

is_rightangle()
print (is_rightangle())

你正在做两件事。首先,您致电is_rightangle(),评估结果为TrueFalse。但是,这个值没有任何影响,并且由于线已经结束,它会进入下一行。在print语句中,您试图打印is_rightangle()的值(这是第二次被调用,这就是为什么您得到六个输入而不是三个输入)。

我要做的就是删除第一次调用is_rightangle()

def is_rightangle():
    a=int(input("Enter a triangle length: "))
    b=int(input("Enter a triangle length: "))
    c=int(input("Enter a triangle length: "))

if (a*a + b*b == c*c or c*c + b*b == a*a or a*a + c*c == b*b):
    return True
else:
    return False

print (is_rightangle())