首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >python将au转换为km

python将au转换为km
EN

Stack Overflow用户
提问于 2015-03-04 23:19:02
回答 1查看 907关注 0票数 3

我试着写一个非常简单的程序,打印出任何行星的当前距离(以公里为单位)。我在用Skyfield。这是我的火星密码:

代码语言:javascript
复制
from skyfield.api import earth, mars, now
ra, dec, distance = earth(now()).observe(mars).radec()


print(distance)

这将以天文单位打印出距离。为了转换成公里,我试着乘以149597871:

代码语言:javascript
复制
from skyfield.api import earth, mars, now
ra, dec, distance = earth(now()).observe(mars).radec()


print(distance*149597871)

但这会返回一个错误:

代码语言:javascript
复制
TypeError: unsupported operand type(s) for *: 'Distance' and 'int'

我能做什么?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-03-04 23:30:23

distance是一个Distance对象,所以如果您想要以公里为单位的距离,可以简单地使用distance.km。如果您想自己进行转换,可以使用distance.AU * 149597871。(如果它不完全匹配,那是因为Skyfield使用149597870.700公里/金进行转换)。

您可以在源这里中看到这个类的实现。

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28867022

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档