Java プロジェクトの 1 つを Python に変換しようとしていますが、特定の行で問題が発生しています。Java コードは次のとおりです。
if (++j == 9)
return true;
これがPythonであると思われるのは
if (j += 1) ==9:
return True
...しかし、エラーが発生していますSyntaxError: invalid syntax。
このJavaをPythonに変換するにはどうすればよいですか?
はい、それは確かに構文エラーです。
あなたはおそらく欲しい:
j += 1
if j == 9:
return True
その理由は、python ではキーワード ( docs )の後に式が必要であるのに対して、ステートメントであるからです。 ifj += 1
おめでとう、あなたは弾丸をかわしました - それを翻訳しないことで:
if (++j == 9):
return True
これは有効な python コードであり、ほぼ間違いなくバグです!
Python には++演算子がないため、2 行に分割してください。
j += 1
if j == 9:
return True
wim が指摘したように、if文には True または False の値に評価されるものが必要です。Java では、++j比較の前にその部分が評価されます。次に、新しいj値が比較され、真または偽の式になります。
++ 演算子は Python には存在しません。代わりに、次のことができます。
j += 1
if j == 9:
return True
+= 演算子は代入演算子です。代入演算子は、条件ステートメントとは別に実行する必要があります。次のようにコードを実行する必要があります。
j+=1
if j==9:
return True
++Python には(または--) 演算子はありません。j += 1値を返さないため、比較するものはありません。あなたが望むように見えます:
if j == 8:
return True
jである場合global(通常は眉をひそめます)、次のようになります。
j += 1
if j == 9:
return True
j += 1と同等j = j + 1です。実際には値を返すのではなく、変数を上書きするだけですj。if を見たいと思っているj + 1 == 9ので、次のように置き換えます。
if (j += 1) ==9:
return True
と:
j += 1
if j == 9:
return True