Doctest терпит неудачу, несмотря на наличие правильного вывода
Моя функция
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
**********************************************************************
Не могу понять, почему он терпит неудачу, несмотря на то, что вывод искажен
2 ответа
В этих двух строках:
>>> validate_latitude(-91)
-90
У вас есть символ табуляции перед -
в -90
и четыре пробела после 0
, Когда doctests запускает этот код, лишние пробелы, конечно, не создаются, поэтому сравнение на равенство не выполняется.
У хороших редакторов, например, vim, есть способы выделения пробелов и паразитных вкладок, чтобы вы не попали в такие аварии. Не уверен, какой редактор вы используете или как вы его настроили, поэтому сложно дать более конкретный совет (помимо очевидного - обеспечить использование редактора С такими возможностями и активировать соответствующие возможности;-).
Пробелы?
Если я выделю ваш вывод, я смогу увидеть дополнительные пробелы после значения "Ожидаемое". Не уверен, что это актуально или нет.