Учитывая следующий код:Урок Python не работает 0.0! = -0.0 - что дает?
def slope(x1, y1, x2, y2):
"""
>>> slope(5, 3, 4, 2)
1.0
>>> slope(1, 2, 3, 2)
0.0
>>> slope(1, 2, 3, 3)
0.5
>>> slope(2, 4, 1, 2)
2.0
"""
xa = float (x1)
xb = float (x2)
ya = float (y1)
yb = float (y2)
return (ya-yb)/(xa-xb)
if name_ == '__main__':
import doctest
doctest.testmod()
Второй doctest терпит неудачу:
Failed example:
slope(1, 2, 3, 2)
Expected:
0.0
Got:
-0.0
Однако, все мы знаем, что -0.0 == 0.0. Является ли doctest проводящим сравнение строк для проверки результатов здесь? Почему второй тест не прошел?
Ссылка ссылки: http://docs.python.org/library/doctest.html#doctest.OutputChecker.check_output –