私は、望遠鏡を向けるためにRaspberry PiとArduinoで実行されるクラス用の単純なpythonプログラムの構築に取り組んでいます。しばらく前に 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: '))
私が覚えていることから、別の関数内の関数は親から変数を呼び出すことができます。私が最後に持っているように、逆の方法でも機能しますか? ハードコードされた場所に基づいて、星座(機能している)と惑星のaltとazを印刷できるようにしたいと思います。何らかの理由で、高度と方位を計算していません。考え?
編集
14行目に追加return loc()
しました。
私はより多くの読書をしていましたが、他のいくつかのスレッドは、内部関数に到達するには、親の最後に返す必要があると言っていました。しかし、それはまだ私にとってはうまくいきません。