Pergunta

A minha função é

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

E o teste falhar com esta saída

**********************************************************************
File "packages/utils.py", line 64, in __main__.validate_latitude
Failed example:
    validate_latitude(-91)
Expected:
    -90    
Got:
    -90
**********************************************************************

Cant ver por que ele falhar, apesar de ter a saída deisred

Foi útil?

Solução

Na estas duas linhas:

>>> validate_latitude(-91)
-90    

Você tem um carácter Tab antes do - em -90, e quatro caracteres de espaço após a 0. Quando doctests é executado este código o espaço em branco extra é claro que não produziu, de modo que a comparação de igualdade falha.

Os bons editores, por exemplo, vim, têm maneiras para destacar espaços à direita e tabulações vadios, para que você não caia afould de tais acidentes. Não tenho certeza o editor que você está usando ou como você configurá-lo, por isso é difícil dar conselhos mais específicos (além da óbvia de garantir que você use um editor com tais capacidades, e permitir que os recursos em questão; -) <. / p>

Outras dicas

Whitespace?

Se eu destacar a sua saída, eu posso ver espaços adicionais após o valor "esperado". Não tenho certeza se isso é relevante ou não.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top