我正在尝试将我的一个 Java 项目翻译成 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 )之后使用表达式,而is a statement。 if
j += 1
恭喜,你刚刚躲过了一劫——没有将它翻译成:
if (++j == 9):
return True
这是有效的python代码,几乎可以肯定是一个错误!
只需将其分成两行,因为 Python 没有++
运算符。
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
++
(或)运算符。--
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