В Python 2, print
есть инструкция. В качестве утверждений в скобках указаны , а не часть синтаксиса для него (как и для return
). Поэтому, когда Python видит print (a, b)
, он будет разбирать часть (a, b)
отдельно. И для синтаксического анализатора, это кортеж:
value = ('Candidate =', k)
print value
При печати кортежа, он будет печатать круглые скобки, так и внутри, список всех значений, с их значением repr
. И значение магнезии строковое, является enquoted:
>>> print repr('Candidate =')
'Candidate ='
Таким образом, чтобы получить результат, который вы хотите, вы должны пройти 'Candidate ='
и k
в заявлении для печати, не помещая его в кортеже. Так что вам просто нужно удалить скобки:
>>> print 'Candidate =', k
Candidate = 3
Обрати внимание, что в Python 3, print
стал функцией, так что на самом деле требует круглых скобок и исходный код работает, как вы хотели. Если вы хотите отпечаток функцию в Python 2 (вместо печати, являющееся заявление), вы можете поместить следующую строку в верхней части коды, чтобы сделать это так:
from __future__ import print_function
Почему ты просто unaccept моего ответа ? – poke
Мне жаль, что я не могу удалить свои вопросы о нобе. –