0

私は Python で GPS プロジェクトに取り組んでおり、助けが必要です。見出し部分を機能させる方法がわかりません。たとえば、度数 +/- のエラーの見出しで、ステートメントが真実であることを望み355ます。私の問題は、360度を回っています。お気に入り

if ((heading – headerror) % 360) <= Gps.heading <= ((heading + headerror) % 360):

355の誤差を伴うのヘディングを使用する20と、gps は を読み取ります4。どちらも北に関するものです。

335 <= 4 <= 15

本当にto 、toの範囲内335にあるかどうかを確認するにはどうすればよいですか?15335360015

4

1 に答える 1

1

簡単な実装の 1 つ:

def between(head, low, high):
    """Whether the heading head is between headings low and high."""
    head, low, high = map(lambda x: x % 360, (head, low, high))
    if high >= low:
        return low <= head <= high
    return low <= head < 360 or 0 <= head <= high

最初にすべての引数を と の間の見出しに変換し0360次に現在の状況、単純な比較ができるかどうか、または0/を説明する必要があるかどうかを判断します360。後者の場合、low値と値360の間0と値の間を明示的にチェックしhighます。

使用中で:

>>> between(4, 355-20, 355+20)
True

必要に応じて、これをリファクタリングして次のように使用できequal(4, 355, 20)ます。

于 2015-04-14T18:55:21.423 に答える