-4
msg = ('Here is your breakdown of your most used words: \n\n'
           'Word | Times Used'
           '\n:--:|:--:'
           '\n' + str(keys[0]).capitalize() + '|' + str(values[0])
           '\n*'* + str(keys[1]).capitalize() + '|' + str(values[1])
           '\n' + str(keys[2]).capitalize() + '|' + str(values[2])
           '\n' + str(keys[3]).capitalize() + '|' + str(values[3])
           '\n' + str(keys[4]).capitalize() + '|' + str(values[4])
           '\n' + str(keys[5]).capitalize() + '|' + str(values[5])
           '\n' + str(keys[6]).capitalize() + '|' + str(values[6])
           '\n' + str(keys[7]).capitalize() + '|' + str(values[7])
           '\n' + str(keys[8]).capitalize() + '|' + str(values[8])
           '\n' + str(keys[9]).capitalize() + '|' + str(values[9]))

我收到一个语法错误,其中被 * 包围的 ' 是。

4

4 回答 4

2

错误的线是'\n*'* + str(keys[1]).capitalize() + '|' + str(values[1])

当然,在*你得到一个+.

'\n*'* + str(keys[1]).capitalize() + '|' + str(values[1])

应该是(否*

'\n*' + str(keys[1]).capitalize() + '|' + str(values[1])

于 2013-05-27T05:55:11.103 回答
2

与其发现这个错误,不如把它重写得干净一点?

msg = """Here is your breakdown of your most used words:
         Word | Times Used
         :--:|:--:"""

for k,v in somedict:
    msg += "\n{}|{}".format(k.capitalize(),v)

print(msg)
于 2013-05-27T06:01:26.527 回答
1

这是 SyntaxError 几乎与编译器所说的完全相同的罕见情况之一:

msg = ('Here is your breakdown of your most used words: \n\n'
           'Word | Times Used'
           '\n:--:|:--:'
           '\n' + str(keys[0]).capitalize() + '|' + str(values[0])

到这里为止你很好。如果你在这里关闭括号并删除其余的,这将解析。

问题是,在此之后,您还有另一个字符串文字:'\n' + .... 您可以毫无问题地将两个字符串文字彼此相邻(Python 将它们视为单个字符串),但在此阶段 Python 会看到:

str(values([0])) '\n'

这始终是语法错误。您很可能需要这些之间的运算符+。彼此相邻的字符串适用于文字。例如,您可以这样做:

>>> 'fred' 'flintstone'
'fredflintstone'

但不是:

>>> x = 'fred'
>>> x 'flintstone'
  File "<stdin>", line 1
    x 'flintstone'
                 ^
SyntaxError: invalid syntax
于 2013-05-27T06:16:05.250 回答
-1

在python中,您需要使用反斜杠(¥)对每一行进行转义,并且每个字符串都需要使用+运算符连接。

女巫就像跟随,

str = "abc" ¥
      + "def" ¥
      + "ghi"
于 2013-05-27T06:01:35.237 回答