无法解决Python错误信息
这段代码来自K. Pollari-Malmi的“编程入门”课程讲义:
def main():
print "Ohjelma laskee asuntolainan kuukausierat."
rivi = raw_input("Anna lainasumma: ")
lainasumma = float(rivi)
rivi = raw_input("Anna laina-aika vuosina: ")
laina_aika = int(rivi)
if laina_aika < 1:
print "liian lyhyt laina-aika"
else:
kk_lkm = 12 * laina_aika
rivi = raw_input("Anna korkoprosentti: ")
korko = float(rivi)
lyhennys = lainasumma / kk_lkm
paaoma = lainasumma
i = 0
print " lyhennys korko yhteensa"
while i < kk_lkm:
i = i + 1
korkoera = korko / 1200.0 * paaoma
paaoma = paaoma - lyhennys
kuukausiera = korkoera + lyhennys
print "%2d. %8.2f %8.2f %8.2f" % \ # mistake probably here
(i, lyhennys, korkoera, kuukausiera)
main()
我遇到了语法错误
SyntaxError: unexpected character after line continuation character
你怎么解决这个错误信息呢?
7 个回答
2
试着把这些代码行改成:
print "%2d. %8.2f %8.2f %8.2f" % \ # mistake probably here
(i, lyhennys, korkoera, kuukausiera)
改成这一行:
print "%2d. %8.2f %8.2f %8.2f" % (i, lyhennys, korkoera, kuukausiera)
另外,要注意,如果一行代码的结尾有一个反斜杠(\),那么这一行就不能有注释。所以你写的 #mistake probably here
这个注释可能就是导致问题的原因。
6
在行继续符号后面,你不能有任何东西,连空格都不行。
你要么删掉空格,要么把整行用一对括号括起来。 在Python中,括号、花括号和方括号之间的行会自动连接:
print ( "%2d. %8.2f %8.2f %8.2f" %
(i, lyhennys, korkoera, kuukausiera) )
10
之前有好几个回答已经指出了你问题的关键,但我想推荐一种我最喜欢的在Python中实现逻辑行继续的方法,前提是可行:
print "%2d. %8.2f %8.2f %8.2f" % ( # no mistake here
i, lyhennys, korkoera, kuukausiera)
也就是说,和一些回答建议你使用额外的括号不同,你可以利用你已经有的任何括号——这会告诉Python你也需要逻辑行继续哦;-)