質問

私の機能は

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 の後にスペース文字が4つあります。 doctestsがこのコードを実行すると、もちろん余分な空白は生成されないため、等値比較は失敗します。

優れた編集者、例: vim、後続のスペースを強調表示する方法、およびタブを外す方法を使用して、このような事故に陥らないようにします。使用しているエディターやセットアップ方法がわからないため、より具体的なアドバイスを与えることは困難です(そのような機能を備えたエディターを使用し、問題の機能を有効にすることの明らかなものに加えて;-)。

他のヒント

ホワイトスペース?

出力を強調表示すると、「期待」の後に追加の空白が表示されます。値。これが関連するかどうかわからない。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top