2017-11-24 24 views
-1

私はPhysicsクラスのGUIプログラムを作成しています。プログラムの作成に問題があります。Python書式設定の問題

if equation == equ: 
      index = equations.index(equation) 
      self.solveforvariablelineedit.setText(str("Type in the exact variable you want to solve for in the equation you have already typed. PLEASE DELETE THIS MESSAGE BEFORE YOU TYPE IN THE VARIABLE!!!"))  
      variable = str(self.solveforvariablelineedit.text()) 
      key = variable + str(index) 
      print key 
      for va in vars1: 
       print va 
       if va == key: 
        message = "Type in the exact number for the", vars1[key] + "! PLEASE DELETE THIS MESSAGE BEFORE YOU TYPE IN THE VALUE!!!" 
        self.solveforvariablelineedit.setText(str(message)) 

これはプログラムを実行したときに発生するエラーです。

File "Physics Calculator.py", line 55 
for va in vars1: 
^ 

IndentationError:予期しないインデント

私は "印刷キー" と "印刷VA" 文を削除すると、プログラムが正常に動作します。しかし、それは意味をなさない。なぜプログラムを動作させるためにそれらのステートメントを削除する必要がありますか?これに加えて、私は自分のプログラムをテストするためにこれらのステートメントを保持する必要がありますか?誰も助けることができますか?とても感謝しております!

注:これは別の質問の重複ではありません。その他の質問は、一般的な書式設定の問題に対する一般的な解決方法を示しています。しかし、すべてのコードが適切にフォーマットされていることを確認しましたが、奇妙な理由でまだエラーが表示されています。

+0

コードをもっと必要とする人は、解決策を探すのに役立つなら、私はそれを提供することができます:) –

+2

タブとスペースを混在させましたか? –

+1

[[Pythonで "予期せぬインデント"をどうすればよいですか?](https://stackoverflow.com/questions/1016814/what-to-do-with-unexpected-indent-in-python) –

答えて

-1

Pythonバージョン2.7未満を使用している場合は、printが間違っています。 printは関数なので、print(key)のように呼び出す必要があります。後に2.7 printは特別なステートメントであり、かっこなしで使用できます。

+0

私はPython 2.7.5を使用していますが、問題なく前に括弧を付けずに他の変数を表示しています... –