2009-10-30 64 views
0
的inspite

我的功能是文檔測試失敗有正確的輸出

def validate_latitude(lat): 
    """Enforce latitude is in range 
    >>> validate_latitude(65) 
    65 
    >>> validate_latitude(91) 
    90 
    >>> validate_latitude(-91) 
    -90  
    """ 
    lat = min(lat, 90) 
    lat = max(lat, -90) 
    return lat 

並且測試失敗,此輸出

********************************************************************** 
File "packages/utils.py", line 64, in __main__.validate_latitude 
Failed example: 
    validate_latitude(-91) 
Expected: 
    -90  
Got: 
    -90 
********************************************************************** 

不能看到它爲什麼儘管具有deisred輸出

回答

3

在這兩個線路:0

>>> validate_latitude(-91) 
-90  

你有-90-前的製表符,和四個空格字符。當doctests運行這段代碼時,額外的空格當然不會生成,所以等於比較失敗。

好的編輯器,例如vim,有辦法突出尾隨空格和流浪標籤,這樣你就不會遇到這樣的事故。不知道你使用的是什麼編輯器,或者你如何設置它,所以很難給出更具體的建議(除了明顯的確保你使用具有這種功能的編輯器並啓用有問題的功能;-)。

3

的失敗空白?

如果我突出顯示您的輸出,我可以在「預期」值後面看到額外的空白。不確定這是否相關。