为什么python不打印这个字符串?它返回正常

时间:2013-09-07 22:06:44

标签: python string

Python不会打印这个格式化的字符串。它在第二个引用后立即抱怨语法错误。另一方面,当我返回相同的字符串时,它就可以了。我可能很愚蠢,但这里的问题是什么?

print '{0} lands by turn {1}: {2}'.format(lands, turn, land_drop_prob(lands, turn, lands=lands_in_deck, deck_size = 60))

如前所述,如果我将“print”更改为“return”,则字符串返回正常。

1 个答案:

答案 0 :(得分:4)

您的语法应该适用于python 2.X.但是,使用python 3.X,print语法已更改。您必须写print("blabla")而不是print "blabla"

>>> print '{0} lands by turn {1}: {2}'.format("a", "b", "c")
  File "<stdin>", line 1
    print '{0} lands by turn {1}: {2}'.format("a", "b", "c")
                                     ^
SyntaxError: invalid syntax
>>> print('{0} lands by turn {1}: {2}'.format("a", "b", "c"))
a lands by turn b: c
>>>