문제

내 기능입니다

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
**********************************************************************

탈퇴 한 출력에도 불구하고 왜 실패하는지 알 수 없습니다.

도움이 되었습니까?

해결책

이 두 줄에서 :

>>> validate_latitude(-91)
-90    

앞에 탭 문자가 있습니다 - 안에 -90, 그리고 다음에 4 개의 공간 문자 0. DocTests 가이 코드를 실행할 때 추가 공백은 물론 생성되지 않으므로 평등 비교가 실패합니다.

좋은 편집자, 예를 들어 VIM은 후행 공간과 길 잃은 탭을 강조하는 방법이있어 그러한 사고에 빠지지 않도록합니다. 어떤 편집기를 사용하고 있는지 또는 어떻게 설정했는지 확실하지 않으므로보다 구체적인 조언을 제공하기가 어렵습니다 (그러한 기능을 가진 편집기를 사용하고 문제의 기능을 가능하게하는 것 외에도 ;-).

다른 팁

공백?

출력을 강조하면 "예상"값에 따라 추가 공백을 볼 수 있습니다. 이것이 관련이 있는지 확실하지 않습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top