2015-11-04 108 views
-1

我的代碼在不同的行中總是給出無效的語法錯誤。我的意思是它在第143行發出錯誤。然後,當我清除該行時。它在另一條線上給出相同的錯誤。即使我得到無效的語法錯誤,例如:python無效語法每次

print("======================================================================") 

這怎麼可能?有任何想法嗎? 謝謝^^

+1

請發送確切的錯誤消息和你得到它們的行 –

+1

你好,歡迎來到StackOverflow。請花一些時間閱讀幫助頁面,尤其是名爲[「我可以詢問什麼主題?」(http://stackoverflow.com/help/on-topic)和[「我應該問什麼類型的問題避免問?「](http://stackoverflow.com/help/dont-ask)。更重要的是,請閱讀[Stack Overflow問題清單](http://meta.stackexchange.com/q/156810/204922)。您可能還想了解[最小,完整和可驗證示例](http://stackoverflow.com/help/mcve)。 –

回答

5

很難知道沒有看到整個代碼。但是,請注意python的implied line continuation帶括號和其他括號。

這可能意味着錯誤可能是報告了不同到其上的真犯了錯。

例如:

a = (3 * 4) + (3 * 2 
print "Hello" 

...給出了錯誤:

File "<ipython-input-1-53e17eda21df>", line 2 
    print "Hello" 
     ^
SyntaxError: invalid syntax 

正在發生的事情是,Python所預期的第一行繼續進行,例如像:

a = (3 * 4) + (3 * 2 
    + 100) 

...這是完全有效的語法。但是,它會發現print "Hello",而這不是括號內語句的有效延續。

+0

當我讀到你的答案時,我期待它以類似於「換句話說,你在前面一行缺少括號」之類的內容結束。雖然答案准確地描述了這種情況,但對於會問這類問題的人的類型可能有點模糊。您可能希望通過提供一些實用建議來加強答案,例如在上一行查找缺少的括號,括號或引用。 –