在火星中按名称查找行星或月亮?

追溯

我正在编写一个小的pyephem程序,让用户以行星或月亮的名字通过,然后对该程序进行一些计算。我找不到如何按名称查找行星或月亮的方法,就像您可以使用恒星(ephem.star('Arcturus'))一样,因此我的程序当前有一个查找行星和卫星名称的表。pyephem可以这样做吗?如果没有,是否值得添加?

布兰登·罗兹(Brandon Rhodes)

一个有趣的问题!确实存在一种内部方法,底层人员可以_libastro使用该方法告诉ephem自己所支持的对象:

import ephem
from pprint import pprint
pprint(ephem._libastro.builtin_planets())

哪些打印:

[(0, 'Planet', 'Mercury'),
 (1, 'Planet', 'Venus'),
 (2, 'Planet', 'Mars'),
 (3, 'Planet', 'Jupiter'),
 (4, 'Planet', 'Saturn'),
 (5, 'Planet', 'Uranus'),
 (6, 'Planet', 'Neptune'),
 (7, 'Planet', 'Pluto'),
 (8, 'Planet', 'Sun'),
 (9, 'Planet', 'Moon'),
 (10, 'PlanetMoon', 'Phobos'),
 (11, 'PlanetMoon', 'Deimos'),
 (12, 'PlanetMoon', 'Io'),
 (13, 'PlanetMoon', 'Europa'),
 (14, 'PlanetMoon', 'Ganymede'),
 (15, 'PlanetMoon', 'Callisto'),
 (16, 'PlanetMoon', 'Mimas'),
 (17, 'PlanetMoon', 'Enceladus'),
 (18, 'PlanetMoon', 'Tethys'),
 (19, 'PlanetMoon', 'Dione'),
 (20, 'PlanetMoon', 'Rhea'),
 (21, 'PlanetMoon', 'Titan'),
 (22, 'PlanetMoon', 'Hyperion'),
 (23, 'PlanetMoon', 'Iapetus'),
 (24, 'PlanetMoon', 'Ariel'),
 (25, 'PlanetMoon', 'Umbriel'),
 (26, 'PlanetMoon', 'Titania'),
 (27, 'PlanetMoon', 'Oberon'),
 (28, 'PlanetMoon', 'Miranda')]

您仅需要这三个项目中的最后一个,因此您可以建立一个名称列表,例如:

>>> pprint([name for _0, _1, name in ephem._libastro.builtin_planets()])

返回:

['Mercury',
 'Venus',
 'Mars',
 'Jupiter',
 'Saturn',
 'Uranus',
 'Neptune',
 'Pluto',
 'Sun',
 'Moon',
 'Phobos',
 'Deimos',
 'Io',
 'Europa',
 'Ganymede',
 'Callisto',
 'Mimas',
 'Enceladus',
 'Tethys',
 'Dione',
 'Rhea',
 'Titan',
 'Hyperion',
 'Iapetus',
 'Ariel',
 'Umbriel',
 'Titania',
 'Oberon',
 'Miranda']

然后,您可以name通过简单的getattr(ephem, name)调用获取其中的任何这些对象(给定为)

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在火星中按名称查找行星或月球?

来自分类Dev

在NSMutableArray中按名称查找对象

来自分类Dev

按记录名称查找记录中的索引

来自分类Dev

Groovy XmlSlurper:按XML中的属性值查找属性名称

来自分类Dev

如何在Designer中按名称查找按钮?

来自分类Dev

在BeautifulSoup中按值查找属性名称(不可反向)

来自分类Dev

如何在pyqt中按名称查找对象?

来自分类Dev

在Visual Studio中,按名称查找和命令?

来自分类Dev

在C#中按名称查找backgroundworker对象

来自分类Dev

R:在深层嵌套列表中按名称查找对象

来自分类Dev

无法在Playstore中按应用名称查找应用

来自分类Dev

在玩笑酶中按名称查找组成元素

来自分类Dev

在对象中按名称查找嵌套属性的最佳方法

来自分类Dev

在ExtJs 4.1树面板中按ID或名称查找节点

来自分类Dev

如何在Designer中按名称查找按钮?

来自分类Dev

在C#中按名称查找backgroundworker对象

来自分类Dev

如何在Windows中按任务名称查找服务?

来自分类Dev

在沙箱中按名称查找所有 webpart

来自分类Dev

按名称查找列表中的最小值

来自分类Dev

如何按类别名称查找类别中的频道

来自分类Dev

给定行星的坐标(太阳,月亮等),有没有办法知道日期和时间?

来自分类Dev

德尔福,按名称查找表格

来自分类Dev

按名称查找控件属性

来自分类Dev

快速按名称查找场景

来自分类Dev

Java中的行星引力

来自分类Dev

在列表中查找名称

来自分类Dev

如何从C#中的字符串中按名称查找文本框控件?

来自分类Dev

LDAP-仅按名称查找用户

来自分类Dev

Spring PagingAndSortingRepository-按名称查找