我正在尝试学习函数并创建了一个小代码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次,这就是为什么我感到困惑。
答案 0 :(得分:0)
当你这样写:
is_rightangle()
print (is_rightangle())
你正在做两件事。首先,您致电is_rightangle()
,评估结果为True
或False
。但是,这个值没有任何影响,并且由于线已经结束,它会进入下一行。在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())