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]))
我收到一个语法错误,其中'被*包围。
答案 0 :(得分: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])
答案 1 :(得分: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)
答案 2 :(得分: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
答案 3 :(得分:-1)
在python中,你需要使用反斜杠(¥)转义每一行,并且每个字符串都需要与+运算符连接。
女巫就像跟着,
str = "abc" ¥
+ "def" ¥
+ "ghi"