2015-11-20 3 views
0

Прежде всего я очень новичок в Python. Я использую версию Ipython для ноутбука, названную jupyter и предоставленную моим университетом, поэтому я не знаю, является ли это стандартной версией или нет.Синтаксическая ошибка, печать с помощью sep = statement

я был занят в слайд-курс о Python и столкнулся с этой exercice:

enter image description here

Это код, который я использовал и синтаксические ошибки я получаю в среде IPython

enter image description here

Я не понимаю, почему он не работает.

Спасибо заранее

Оливье

+2

Выполняет ли 'print 'Hello, World?' В вашей среде? Если это так, вы используете Python 2.7 или ниже. Этот слайд имеет код 3.X, и некоторый синтаксис несовместим. – Kevin

+0

Привет, Спасибо, что ответили так быстро, 'print" Hello, World "' Работает в моей среде. Как я могу решить этот синтаксис, чтобы он работал? –

+0

Если вы хотите продолжить использование учебника 3.X? Установите Python 3.X и используйте это вместо того, что у вас есть сейчас. – Kevin

ответ

2

print([object, ...][, sep=' '][, end='\n'][, file=sys.stdout]) функция в Python 3.x, которая имеет аргумент в sep ключевое слово (среди прочих).

Если вы используете Python 2.7 (попробуйте print "Hello!" - если он работает, то есть Python 2.x), print это утверждение есть, это означает, что если вы хотите, чтобы получить поведение как в слайде (сделать print в функция), вам необходимо импортировать print_function из модуля __future__.

Таким образом, вы можете использовать print("Hi!", "Hello!", sep='\t'), как на вашем слайде.

Как отметил @Kevin в своем комментарии к этому сообщению, если ваш курс использует Python 3.x, вы бы лучше обновить до этой версии, так как такие вещи, как async, yield from или lzma не доступны в Python 2. Икс.

+3

Импорт печати из будущего - хорошее решение для текущей ошибки OP, но я беспокоюсь, что он продолжит движение вверх, следуя за этими слайдами только 3.X. Что он будет делать, когда они будут покрывать «асинчио» или «выход из»? – Kevin

+0

@Kevin: Спасибо за ваш комментарий, я редактировал свое сообщение, чтобы включить предложение об обновлении в случае этих вещей. – jermenkoo

Смежные вопросы