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