我是python的新手。我在Eclipse Kepler中使用Python 3.3。
这是我的代码段:
f = Fibonacci(0,1)
for r in f.series():
if r > 100: break
print(r, end=' ')
在print(r, end = '')
行,eclipse会报告一种语法
错误 - Syntax error while detecting tuple
。然而
程序运行完美。
为什么会发生这种情况?如何修复错误?
答案 0 :(得分:22)
您需要在Eclipse中指定正确的Grammar Version
。见这里:print function in Python3
您的设置中是Grammar Version
3.3吗?步骤 - 项目>属性> Python Interpreter / Grammar。您可能必须重新启动Eclipse以查看更改。
答案 1 :(得分:3)
我知道这是一篇老帖子,但是对于那些在2018年及以后遇到过类似问题的人来说,CodeMix for Eclipse是一个插件,你可以安装它来提升你的python开发,几乎不需要任何配置。您可以获得内容辅助,验证,从重构到格式化等内容的快捷命令。更多信息here
答案 2 :(得分:1)
在python 2.x中print
是一个内置关键字,不是python 3.x中的函数,使用如下:
>>> print "hello", "world"
hello world
因此,Python假定(r, end= '')
是一个包含两个值的元组,您正在尝试打印。
您可以将eclipse配置为使用python 3.x语法。如果您使用的是PyDev,请检查this。
答案 3 :(得分:0)
我认为您实际上可能正在使用Python 2.执行此操作并报告您的结果:
import sys
print(sys.version)
编辑:
实际上,您报告的内容似乎是关于Eclipse的pydev的一个漏洞:
答案 4 :(得分:0)
将eclipse中的运行路径更改为python 3.x而不是当前设置,可能设置为python 2.x