使用\ n时出现语法错误

时间:2011-12-10 18:04:44

标签: python

print 'For ' + str(n) ' total pieces:\n' + str(a) + ' six pieces, ' + str(b) + ' nine pieces, ' + str(c) + ' twenty pieces'

解释器说存在语法错误,并在'

之后突出显示\n

5 个答案:

答案 0 :(得分:4)

+之后直接丢失str(n)。编译器突出显示导致解析错误的令牌的结尾。在这种情况下,编译器在函数调用str(n)之后不会直接期望字符串文字。

答案 1 :(得分:2)

对于问题中的文本,使用格式化字符串是个好主意,它甚至可以帮助防止您遇到的错误(缺少+):

'For %d total pieces:\n%d six pieces, %d nine pieces, %d twenty pieces' % (n,a,b,c)

在上面的代码片段中,我假设n,a,b,c是数字。有关详细信息,请查看文档中的String Formatting Operations

答案 2 :(得分:1)

你在' total pieces:\n'之前错过了一个'+'。

实际上,作为格式化的字符串,这会更好。

print "For %(total)f total pieces:\n%(six)f six pieces, %(nine)f nine pieces, %(twenty)f twenty pieces" % {
  "total": n,
  "six": a,
  "nine": b,
  "twenty": c
}

答案 3 :(得分:0)

+之前您遗漏了' total pieces:\n'

print 'For ' + str(n) + ' total pieces:\n' + str(a) + ' six pieces, ' + str(b) + ' nine pieces, ' + str(c) + ' twenty pieces'

答案 4 :(得分:0)

错过了+

print 'For ' + str(n) + ' total pieces:\n' + str(a) + ' six pieces, ' + str(b) + ' nine pieces, ' + str(c) + ' twenty pieces'
                      ^