簡體   English   中英

Python拋出隨機無效語法錯誤

[英]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語法,但是在交互式解釋器中,您需要用空行分隔代碼塊。

方便的經驗法則是,除非有>>>提示符,否則無法使用ifdefclassforwhilewithtry來開始新的塊。

REPL仍在上一個代碼塊上工作。 自行輸入一個空行以首先終止它。

您在print語句之后需要一個空白行,Python解釋器認為您要繼續執行一個塊,直到您執行該操作為止,因此第二條if語句會出現縮進錯誤。 這不是“無效”的,交互式解釋器旨在以這種方式工作。

您是否按退格鍵輸入第二個if 外殼不喜歡那樣。 期望邏輯塊中有另一行,或者能夠執行該塊(再按一次Enter)。 外殼只能一次執行一個塊,即完成第一if第一,那么你就可以進入第二個if 您可以使用elif因為它仍被視為同一邏輯塊的一部分。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM