2011-08-22 22 views
0

检查Scalene三角(我从http://www.pyschools.com为什么我的斜角三角测试不能正确工作?

我不知道我错了什么,因为我无法通过这个测试。

写一个功能isScalene(x, y, z)接受一个三角形的3 sides作为输入。该函数应该返回True,如果它是一个缩放三角形。一个斜角三角形没有相等的边。

例子

>>> isScalene(2, 4, 3) 
True 
>>> isScalene(3, 3, 3) 
False 
>>> isScalene(0, 2, 3) 
False 
>>> isScalene(2, 2, 3) 
False 

我的函数定义是这样的:

def isScalene(x, y, z): 
    if(x > 0 and y >0 and z> 0): 
     if(x!=y!=z): 
      return True 
     else: 
      return False 
    else: 
     return False 

谁能给我一个提示?

+2

[OT]自从我上次听到* scalene *之后已经过了年龄......这是在学校看起来很大但在高等数学中从未使用过的术语之一。 – lhf

+1

在if(x!= y!= x)处输入:'。 – utdemir

回答

3

尝试更具表现力,我怀疑你的x!= y!= z是问题所在。

if ((x != y) and (x != z) and (y !=z)) 
+1

或者更简洁地说,'x!= y!= z!= x'。 [Python比较器链接](http://docs.python.org/reference/expressions.html#grammar-token-comparison) – bobince

+0

感谢您的提示。 – newbie

4

如果输入是2,3,5,该怎么办? (提示:根本不是三角形!)

+0

是的,我忘了这个。感谢 – newbie

0
def isScalene(x, y, z): 
    if x <= 0 or y <= 0 or z <= 0: 
      return False 
    if x + y > z and x - y < z: 
     if x !=y != z: 
      return True 
    return False 

你应该检查不等边三角形首先必须是一个三角形!