在 python 中输入精确度数
Posted
技术标签:
【中文标题】在 python 中输入精确度数【英文标题】:Entering precise degrees into python 【发布时间】:2010-07-09 21:22:14 【问题描述】:在 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 使用弧度作为浮点数。
没有特定的“角度”类型,但您可以根据需要自己编写。
【讨论】:
我就是这么想的。感谢您的快速回复。以上是关于在 python 中输入精确度数的主要内容,如果未能解决你的问题,请参考以下文章