2017-08-13 86 views
0

我必须测试指南针读数与设定点之间的度数差是否在x数量内。计算两个指南针标题之间的差异Python

This post描述了我后,它只是在C#中,我不能解释该解决方案将如何工作。

如..

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

我会鼓励你去尝试和翻译的C#解决方案Python自己,并提出具体的问题,如果和你什么时候卡住,张贴你到目前为止的代码。现在这个问题被解读为“请为我编码”,这通常不适合这个网站。 – NPE

回答

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

我希望这可以帮助你

+0

谢谢。很有帮助 –

相关问题