我正在为一个类构建一个简单的python程序,该类将运行在Raspberry Pi和Arduino上,以指导望远镜。我很早以前就开始学习python了,现在我很难让我的函数正常工作。现在,我有这个:
import ephem
def const(p, d): # find the constellation #
def loc():
sbend = ephem.Observer()
sbend.lat = '41.67'
sbend.lon = '86.26'
p = getattr(ephem, p)
p.compute(sbend)
print p.alt, p.az
o = getattr(ephem, p)
print ephem.constellation(o(d))
return loc()
const(raw_input('Planet: '), raw_input('yyyy/mm/dd: '))
据我所知,另一个函数内部的函数可以从父函数调用变量。它还能像我在结尾时那样反过来吗?我想根据硬编码的位置打印出星座图(正在工作)以及行星的高度和方位角。由于某些原因,它没有计算高度和方位角。思想?在
编辑
我在第14行添加了return loc()
。在
我正在做更多的阅读,其他一些线程说要获得一个内部函数,它需要在父函数的末尾返回。但是,对我来说还是不行。在
我不清楚为什么你有一个功能在另一个功能中,所以我可能遗漏了你试图解决的问题的一部分;但是如果我想确定一颗行星位于哪个星座,行星的名称和日期作为输入提供在哪里,那么我只需连续执行这些步骤,函数内部没有任何复杂的函数:
以@Brandon为例,我的最终代码是:
我看了之后意识到他是用}来定位背景星座,而不是打印它在天空中的坐标。我所做的只是在末尾加上回电,打印出高度和方位数据。在
planet.ra
和{相关问题 更多 >
编程相关推荐