from math import sqrt
a = raw_input("First length: ")
b = raw_input("Second length: ")
c = raw_input("Third length: ")
if a >0 and b >0 and c >0 and a + b > c and a + c > b and b + c > a :
if a == b == c:
print "Equilateral triangle."
elif a == b and a != c and b != c:
print "Isosceles triangle."
elif (a==sqrt(b*b+c*c) or b==sqrt(a*a+c*c) or c==sqrt(a*a+b*b)):
print "Right triangle."
else:
print "Simple triangle."
else:
print "The shape is not a triangle."
当我插入“2”,“2”和“2”时,一切正常,但是当我输入“3”,“4”和“5”我得到: “形状不是三角形。” 。你能帮我找到问题吗? (我现在看到了,我能找到的另一篇文章的解决方案,但我......不知道这个问题)无法验证一个形状是否为三角形
首先,你搞砸了毕达哥拉斯定理:) –
'raw_input'返回一个字符串,而不是数字。你需要'int(raw_input(“First length:”))'或'float(raw_input(“First length:”))''。它适用于相同的输入,因为您正在比较相同的字符串。一旦这些数字的字符串表示发生变化,那么'elif'子句都不为真 – roganjosh
'b!= c'检查是多余的;如果前两次比较是真的,则保证是真的。 – chepner