我的功能是
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输出
答案 0 :(得分:3)
空白?
如果我突出显示您的输出,我可以在“预期”值后面看到额外的空格。不确定这是否相关。
答案 1 :(得分:3)
在这两行中:
>>> validate_latitude(-91)
-90
-
中的-90
前面有一个制表符,0
后面有四个空格字符。当doctests运行此代码时,额外的空格当然不会产生,因此相等比较失败。
优秀的编辑,例如vim,有办法突出尾随空间和迷路标签,这样你就不会发生这样的事故。不确定您正在使用哪种编辑器或如何设置它,因此很难提供更具体的建议(除了显而易见的确保您使用具有此类功能的编辑器,并启用相关功能; - )。 / p>