0

我的功能是

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
**********************************************************************

尽管有所需的输出,但看不到为什么它会失败

4

2 回答 2

3

空白?

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

于 2009-10-30T14:40:10.833 回答
3

在这两行中:

>>> validate_latitude(-91)
-90    

-在in之前有一个 Tab 字符,在 .-90之后有四个空格字符0。当 doctests 运行此代码时,当然不会产生额外的空格,因此相等比较失败。

好的编辑器,例如 vim,有办法突出尾随空格和杂散的制表符,这样你就不会遇到这样的意外。不确定您正在使用什么编辑器或如何设置它,因此很难给出更具体的建议(除了确保您使用具有此类功能的编辑器并启用相关功能的明显建议;-)。

于 2009-10-30T15:36:46.070 回答