[英]python spyder can't define function or run loop
當我嘗試運行具有(:)的任何代碼時,將python 3.6與spyder一起使用會給我這個錯誤
SyntaxError:解析時出現意外的EOF
我在Jupyter筆記本中嘗試了相同的代碼,但效果很好
我嘗試了此代碼(我在輸入:之后按Enter,然后繼續)
for i in range(5):
print(i)
要么
def printme( str ):
"This prints a passed string into this function"
print str
return
錯誤指向for循環或函數定義第一行中的冒號(:)
如您所見,在Jupyter中可以使用相同的代碼
我想知道spyder的問題是什么,它與其他代碼兼容
這不是spyder問題,而是代碼的格式問題。 當一行中有錯誤時,將引發語法錯誤。 並非總是所指示的箭頭指向錯誤的確切位置,它僅指示解釋器在哪里絆倒。 因此,錯誤通常在指示箭頭附近。
在第一種情況下,指示的行沒有什么可怕的錯誤,因此,要么您在下一行中做錯了什么(例如缺少縮進之類的東西),要么您的解釋器不允許在函數定義中使用str
作為變量,因為它是保留關鍵字。
在第二種情況下,函數名稱和左括號之間不允許有空格。 此代碼應同時在jupyter和spyder中運行:
def printme(string):
print(string)
for i in range(5):
print(i)
注意:我在語句周圍添加了括號,以進行print
以與python 3兼容。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.