2013-10-17 71 views
-7

我正在做一個python教程codecademy和我卡在我有99個問題,但一個開關不是一個,我得到一個錯誤NameError:name'greater_less_equal_5'不是定義爲NameError:name'greater_less_equal_5'沒有被定義

def greaterlessequal_5(answer): 
    if answer > 5 : 
     return 1 
    elif answer > 5: 

     return -1 
    else: 
     return 0 

print greaterlessequal5(4) 
print greaterlessequal5(5) 
print greaterlessequal_5(6) 

我該怎麼辦?

+2

因爲你只定義了'greaterlessequal_5'功能greater_less_equal_5沒有定義 ,這是唯一一個你可以調用... –

+2

的方法,另外的錯誤你實際上可能收到的是'greaterlessequal5沒有定義'(它真的幫我們幫助你,如果你把你的實際錯誤信息和代碼,只是複製和粘貼不嘗試從內存中鍵入) –

+0

我沒有從內存中鍵入 – user2891430

回答

2

有三個問題的代碼:

  • greaterlesequal5()沒有被定義

  • greaterlessequal5()沒有被定義[這兩個錯別字]

  • if和您的elif都測試相同的條件。 elif或許應該尋找answer < 5

+0

嘗試過相同的錯誤 – user2891430

+0

由於CD空間指出,您更改了CodeAcademy給您的代碼。 Guido自己可以寫一段代碼來測試一個數字是否大於,小於或等於五,但是如果他的代碼沒有使用名爲精確的函數greater_less_equal_5(),那麼他會得到和你一樣的錯誤。當您將答案提交給codeacademy時,解釋器通過調用具有許多您看不到的參數的函數來測試代碼。如果函數的名稱已更改,則會出現語法錯誤,即使對於其他完美形式的代碼也是如此。 – Pines

1

點擊上codeAcademy.com這個問題「重置密碼」,然後再試一次。您發佈的代碼與該網站的代碼不符,如下所示。

def greater_less_equal_5(answer): 
    if 
     return 1 
    elif   
     return -1 
    else: 
     return 0 

print greater_less_equal_5(4) 
print greater_less_equal_5(5) 
print greater_less_equal_5(6) 
0

那是因爲還使用相同的,如果condtion