[英]Python throwing out a random invalid syntax error
版本: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:
^
SyntaxError: invalid syntax
我不知道為什么會出現此錯誤。 我知道我可以使用elif或其他方式,但是我只想測試。 救命?
當它位於模塊中時,這是有效的Python語法,但是在交互式解釋器中,您需要用空行分隔代碼塊。
方便的經驗法則是,除非有>>>
提示符,否則無法使用if
, def
, class
, for
, while
, with
或try
來開始新的塊。
REPL仍在上一個代碼塊上工作。 自行輸入一個空行以首先終止它。
您在print
語句之后需要一個空白行,Python解釋器認為您要繼續執行一個塊,直到您執行該操作為止,因此第二條if
語句會出現縮進錯誤。 這不是“無效”的,交互式解釋器旨在以這種方式工作。
您是否按退格鍵輸入第二個if
? 外殼不喜歡那樣。 期望邏輯塊中有另一行,或者能夠執行該塊(再按一次Enter)。 外殼只能一次執行一個塊,即完成第一if
第一,那么你就可以進入第二個if
。 您可以使用elif
因為它仍被視為同一邏輯塊的一部分。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.