2009-10-30 27 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

的失败空白?

如果我突出显示您的输出,我可以在“预期”值后面看到额外的空白。不确定这是否相关。