16

我在创建这个 Python 程序时遇到问题,我正在创建这个程序来做数学、计算等解决方案,但我收到了语法错误:“python 中的行继续符后出现意外字符”

这是我的代码

print("Length between sides: "+str((length*length)*2.6)+" \ 1.5 = "+str(((length*length)*2.6)\1.5)+" Units")

我的问题是\1.5我试过\1.5但它不起作用

使用 python 2.7.2

4

6 回答 6

25

除法运算符 is /, not\

于 2011-10-17T09:47:38.540 回答
17

反斜杠\是错误消息正在谈论的行继续字符,在它之后,只允许换行符/空格(在下一个非空格继续“中断”行之前。

print "This is a very long string that doesn't fit" + \
      "on a single line"

在字符串之外,反斜杠只能以这种方式出现。对于除法,您需要一个斜线:/.

如果您想在字符串中逐字写入反斜杠,请将其翻倍:"\\"

在您的代码中,您使用了两次:

 print("Length between sides: " + str((length*length)*2.6) +
       " \ 1.5 = " +                   # inside a string; treated as literal
       str(((length*length)*2.6)\1.5)+ # outside a string, treated as line cont
                                       # character, but no newline follows -> Fail
       " Units")
于 2011-10-17T09:46:11.607 回答
6

您必须在连续字符后按 Enter

注意:连续字符后的空格会导致错误

cost = {"apples": [3.5, 2.4, 2.3], "bananas": [1.2, 1.8]}

0.9 * average(cost["apples"]) + \ """enter here"""
0.1 * average(cost["bananas"])
于 2018-01-29T16:01:24.563 回答
2

除法运算符是/而不是\

此外,反斜杠在 Python 字符串中具有特殊含义。要么用另一个反斜杠转义它:

"\\ 1.5 = "`

或使用原始字符串

r" \ 1.5 = "
于 2011-10-17T09:42:07.650 回答
0

好吧,你想做什么?如果要使用除法,请使用“/”而不是“\”。如果是别的,请详细解释一下。

于 2011-10-17T09:47:01.947 回答
0

正如其他人已经提到的:除法运算符是/而不是 * *。如果要在字符串中打印 * *字符,则必须对其进行转义:

print("foo \\")
# will print: foo \

我想打印你想要的字符串我认为你需要这个代码:

print("Length between sides: " + str((length*length)*2.6) + " \\ 1.5 = " + str(((length*length)*2.6)/1.5) + " Units")

而这个是上面的一个更易读的版本(使用格式方法):

message = "Length between sides: {0} \\ 1.5 = {1} Units"
val1 = (length * length) * 2.6
val2 = ((length * length) * 2.6) / 1.5
print(message.format(val1, val2))
于 2011-10-17T09:59:43.730 回答