Итак, я написал эту простую часть кода, которая берет список списков в качестве аргумента и суммирует все предметы подписок..join встроенная функция не работает в python3.5
def addItems(li):
for k in li:
sum = 0
for i in k:
sum += i
print " + ".join(["%d" % (i) for i in k]) + " = %d" % (sum)
Когда я пытаюсь импортировать модуль в python2.7, мне это удалось.
Однако, когда я пытаюсь сделать то же самое в python3.5, он вызывает эту ошибку:
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/home/george/Desktop/random/pyproj/myLibs/firstLib.py", line 9
print " + ".join(["%d" % (i) for i in k]) + " = %d" % (sum)
^
SyntaxError: invalid syntax
Вкратце. В Python 3 функция 'print' теперь является функцией, поэтому вы должны называть ее следующим:' print ('things here here') '. – idjaw
Хотя это не дубликат, он ответил на мой вопрос! Спасибо! – docff
Это определенно дубликат. Он работает в Python 2, потому что 'print' - это оператор в python 2. Скобки не нужны. В Python 3 вы должны использовать его, потому что 'print' является функцией. Это точно, что объясняет эта дублируемая ссылка. https://docs.python.org/3.0/whatsnew/3.0.html#print-is-a-function – idjaw