【问题标题】:Entering precise degrees into python在 python 中输入精确度数
【发布时间】:2010-07-09 21:22:14
【问题描述】:

在 python 中输入学位的标准方法是什么?我的全站仪以度-分-秒格式给出度数。我可以编写一个函数将其转换为十进制度,但我想知道是否有一种我不知道的通用方法。

-克里斯

【问题讨论】:

    标签: python


    【解决方案1】:

    克里斯:不太可能。

    既然你需要弧度,无论如何,这应该是诀窍:

    import math
    def radians_from_triple(deg, min=0, sec=0):
        return math.radians(deg + min * 60 ** -1 + sec * 60 ** -2)
    

    【讨论】:

    • 不使用return math.radians(deg + min / 60.0 + sec / 3600.0)的任何特殊原因??
    • @user266564:Double Asterix 是 Obelix;他不酷。在我看来像 Obfuscationtrix。
    • @John:我可以说在代码中加入“3600”是一种混淆。这里执行的是从基数 60 的基数转换。如果读者不知道 ** 是 Python 中的幂运算符,则只能将其视为混淆。
    • 所以sec / 3600.0 是混淆,sec * 60 ** -2 不是?你肯定是在开玩笑!如果读者不知道 60 * 60 == 3600,则只能将 3600 视为混淆。您有什么理由使用 min * 60 ** -1 而不是 min / 60.0
    【解决方案2】:

    Python 使用弧度作为浮点数。

    没有特定的“角度”类型,但您可以根据需要自己编写。

    【讨论】:

    • 我就是这么想的。感谢您的快速回复。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-04-30
    • 2016-04-27
    • 1970-01-01
    • 1970-01-01
    • 2012-12-31
    • 1970-01-01
    相关资源
    最近更新 更多