我的函数是
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输出,它还是失败了
发布于 2009-10-30 15:36:46
在这两行代码中:
>>> validate_latitude(-91)
-90
在-90
中,-
前面有一个制表符,0
后面有四个空格字符。当doctest运行这段代码时,当然不会生成额外的空格,因此相等比较失败。
好的编辑器,比如vim,有办法突出显示尾随的空格和杂乱无章的制表符,这样你就不会陷入这样的意外。不确定你使用的是什么编辑器,或者你是如何设置它的,所以很难给出更具体的建议(除了一个明显的建议,确保你使用一个具有这样功能的编辑器,并启用有问题的功能;-)。
发布于 2009-10-30 14:40:11
空格?
如果我突出显示您的输出,我可以看到"Expected“值后面有额外的空格。不确定这是否相关。
https://stackoverflow.com/questions/1650184
复制