Python работает, но eclipse показывает ошибку - Синтаксическая ошибка при обнаружении кортежа

Я новичок в python. Я использую Python 3.3 в Eclipse Kepler.

Это мой фрагмент кода:

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. Однако программа работает отлично.

Почему это происходит и как я могу исправить ошибку?

Ответ 1

Вам нужно указать правильный Grammar Version в Eclipse. Смотрите здесь: функция печати в Python3

Является ли Grammar Version 3,3 в вашей настройке? Шаги - Project > Properties > Python Interpreter/Grammar. Возможно, вам придется перезапустить Eclipse, чтобы увидеть изменения.

Ответ 2

В python 2.x print есть встроенное ключевое слово, а не функция, как в python 3.x, и используется следующим образом:

>>> print "hello", "world"
hello world

Поэтому Python предполагает, что (r, end= '') является кортежем, содержащим два значения, которые вы пытаетесь распечатать.

Возможно, вы можете настроить eclipse для использования синтаксиса python 3.x. Проверьте этот, если вы используете PyDev.

Ответ 3

Я думаю, что вы действительно используете Python 2. Сделайте это и сообщите о своих результатах:

import sys
print(sys.version)

EDIT:

Собственно, то, что вы сообщаете, похоже, является открытой ошибкой для pydev для Eclipse:

http://sourceforge.net/p/pydev/bugs/913/

Ответ 4

Измените путь запуска в eclipse на python 3.x, а не на его текущую настройку, которая, вероятно, установлена ​​на python 2.x