繁体   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