Python抛出了一个随机的无效语法错误
版本:Python 3.3.2(默认值,2013年9月11日,20:16:42) 哎,, 我正在用python做一些测试,对shell做了一些修改,但是我得到了一个奇怪的错误Python抛出了一个随机的无效语法错误,python,Python,版本:Python 3.3.2(默认值,2013年9月11日,20:16:42) 哎,, 我正在用python做一些测试,对shell做了一些修改,但是我得到了一个奇怪的错误 >>> a = 5 >>> if a > 0: ... print("a is a positive number.") ... if a < 0: File "<stdin>", line 3 if a < 0: ^ Sy
>>> a = 5
>>> if a > 0:
... print("a is a positive number.")
... if a < 0:
File "<stdin>", line 3
if a < 0:
^
SyntaxError: invalid syntax
>a=5
>>>如果a>0:
... 打印(“a是正数。”)
... 如果a<0:
文件“”,第3行
如果a<0:
^
SyntaxError:无效语法
我不知道为什么会出现这个错误。我知道我可以使用elif或其他,但我只是想测试一下。
帮助?REPL仍在处理上一个代码块。单独输入一个空行以首先终止它。REPL仍在处理上一个代码块。单独输入一个空行以首先终止它。在
print
语句之后需要一个空行,Python解释器认为您在继续执行一个块,直到您这样做,因此在第二个if
语句中会出现缩进错误。这不是“无效”,交互式解释器就是这样设计的。如果在print
语句后需要一个空行,Python解释器会认为您在继续执行一个块,直到您执行该操作为止,因此在第二个if
语句上会出现缩进错误。这不是“无效”,交互解释器就是这样设计的。当它位于模块中时,这是有效的Python语法,但在交互解释器中,您需要用一个空行分隔代码块
这里的一条简便的经验法则是,除非有
>
提示,否则不能使用if
、def
、class
、for
、while
、with
或try
启动新块。当它位于模块中时,这是有效的Python语法,但是在交互式解释器中,您需要用一个空行分隔代码块
这里的一条简便的经验法则是,除非有
>
提示,否则不能使用if
、def
、class
、for
、while
、with
或try
启动新块。是否按backspace键输入第二个if
?贝壳不喜欢那样。它期望逻辑块中有另一行,或者能够执行该块(再按一次enter键)。shell一次只能执行一个块,即首先完成第一个如果则可以输入第二个如果。您可以使用elif
,因为它仍然被视为同一逻辑块的一部分。如果,是否按backspace键输入第二个?贝壳不喜欢那样。它期望逻辑块中有另一行,或者能够执行该块(再按一次enter键)。shell一次只能执行一个块,即首先完成第一个如果则可以输入第二个如果。您可以使用elif
,因为它仍然被视为同一逻辑块的一部分。用于在shell中编写此类多行语句。用于在shell中编写此类多行语句。