【问题标题】:Calculate the difference between two compass headings Python计算两个指南针方向Python之间的差异
【发布时间】:2017-08-13 11:10:47
【问题描述】:

我必须测试罗盘读数和设定点之间的度数差异是否在 x 范围内。

This post 描述了我所追求的,它只是在 C# 中,我无法解释解决方案的工作原理。

例如...

Compass Reading  Set Point  Difference (absolute)
360              1          1
50               60         10
1                360        1

【问题讨论】:

  • 我鼓励您尝试自己将 C# 解决方案翻译成 Python,并在遇到困难时提出具体问题,然后发布您目前拥有的代码。现在的问题是“请为我编写代码”,这通常不适合这个网站。

标签: python


【解决方案1】:

这是翻译成python的代码:

def getHeadingError(init, final):
    if init > 360 or init < 0 or final > 360 or final < 0:
        raise Exception("out of range")
    diff = final - init
    absDiff = abs(diff)

    if absDiff == 180:
        return absDiff
    elif absDiff < 180:
        return diff
    elif final > init:
        return absDiff - 360
    else:
        return 360 - absDiff

print("init -- final -- error")
print("360 -- 1 -- {}".format(getHeadingError(360, 1)))
print("50 -- 60 -- {}".format(getHeadingError(50, 60)))
print("1 -- 360 -- {}".format(getHeadingError(1, 360)))

希望对你有帮助

【讨论】:

    猜你喜欢
    • 2021-07-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-09-04
    • 2017-06-13
    • 1970-01-01
    • 2020-05-13
    相关资源
    最近更新 更多