2016-07-11 7 views
1

現在、天体座標のセットを与えられたスクリプトを作成して、特定の望遠鏡でその点が表示される翌日に教えてくれます。基準は単純ですが、水平座標系では、オブジェクトの高度は30度から65度の間でなければなりません(変数 "crit"はこれを表しますが、ラジアンで表します)。 だから私はPyephemを使用して、その後、「アリ」と呼ばれる望遠鏡のためのパラメータのセットを持っている:Python:数値が入力または出力されたときにのみデータを出力する

#imported ephem as ep 
obj= ep.FixedBody() 
obj._ra= E.ra 
obj._dec= E.dec 
obj._epoch = E.epoch 
Ant.date = ep.now() 
for d in range(days): 
    for i in range(24): 
     for j in range (60): 
      Ant.date += ep.minute  
      obj.compute(Ant) 
      crit= float(obj.alt) 
      if crit>=0.523599 and crit <=1.13446: 
       print "Visible at %s" %Ant.date 

「2016年7月11日午後七時41分21秒で可視」の多くを印刷し、その結果、 1分ごとに1。 私は「2016年7月11日19時41分21秒に視界を入れ、2016年7月11日23時41分21秒」というようなものを印刷したいだけです。 すべてのアイデアをいただければ幸いです。

免責事項:申し訳ありません、ネイティブの英語スピーカーはありません。

答えて

2

すでに範囲内にあるかどうかを確認する必要があります。だから、例えば、最初にあなたはそれを初期化したい:

is_visible = False 

とあなたの文は次のようになります場合:これはほとんどあり

if crit>=0.523599 and crit <=1.13446: 
    if not is_visible: 
     print "Visible at %s" %Ant.date 
     is_visible = True 
else: 
    if is_visible: 
     print "No longer visible at %s" % Ant.date 
     is_visible = False 
+0

、今、私はちょうどその時のポイント葉印刷する必要があります範囲。 –

+0

これを追加するように編集されました。 – Skyler

+0

完全に機能しています、ありがとう –

関連する問題