2015-06-27 86 views
-4

我工作的一個Python的codecademy.com當然,我找不到什麼是錯,此代碼:我在這種情況下做錯了什麼?

def greater_less_equal_5(answer): 
    if answer >= 5: 
     return 1 
    elif answer <= 5: 
     return -1 
    else: 
     return 0 

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

它返回:

-1 
1 
1 

什麼是錯我的代碼?

+2

刪除代碼中出現的所有'='。它會正常工作。 –

+3

那麼,你期望它返回什麼? – Anonymous

回答

1

代碼中存在邏輯錯誤。當您使用參數5調用greater_less_equal_5函數時,將輸入第一個if語句,因爲它滿足條件answer>=5。因此,每次調用greater_less_equal_5函數時,使用參數5,您將得到返回值1

爲了得到它,只需看看兩個if條件中需要什麼,這樣當answer=5時,您將得到返回值0

0

正如@Bhargav Rao所說,您需要從代碼中刪除=標誌。

原因是它首先檢查answer是否大於或等於5並返回1。 5大於或等於至5,所以它返回1