Frage

Meine Funktion ist

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

Und der Test nicht mit diesem Ausgang

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

Cant sehen, warum es trotz fehlschlägt die deisred Ausgabe von

War es hilfreich?

Lösung

In diesen beiden Zeilen:

>>> validate_latitude(-91)
-90    

Sie haben ein Tab Zeichen vor dem - in -90 und vier Leerzeichen nach dem 0. Wenn Doctests läuft diesen Code das zusätzliche Leerzeichen natürlich nicht erzeugt, so schlägt der Gleichheitsvergleich.

Gute Editoren, z.B. vim, müssen Wege Leerzeichen am Ende zu markieren, und Streu Tabs, so dass Sie afould solche Unfälle nicht fallen. Nicht sicher, was Editor Sie verwenden oder wie Sie es eingerichtet haben, so ist es schwer, spezifischere Ratschläge zu geben (neben dem offensichtlich einen der Gewährleistung Sie einen Editor mit solchen Fähigkeiten verwendet, und aktivieren Sie die Fähigkeiten in Frage; -).

Andere Tipps

Leer?

Wenn ich die Ausgabe markieren, ich zusätzliche Leerzeichen sehen nach dem „Expected“ -Wert. Nicht sicher, ob dies relevant ist oder nicht.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top