簡體   English   中英

python spyder無法定義函數或運行循環

[英]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.

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