2011-08-22 43 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 

你應該檢查不等邊三角形首先必須是一個三角形!