输出打印转义字符 [ \ ]

output prints an escape character [ \ ]

我正在参加初级 Python 课程,这是 activity 课程之一:

我的代码:

print "How old are you?",
age = raw_input()
print "How tall are you?",
height = raw_input()
print "How much do you weigh?"
weight = raw_input()
print "So, you're %r old, %r tall and %r heavy." % (age, height, weight)

然后我 运行 通过 Powershell 并在出现提示时输入数据,但是当我输入 5'9" 作为高度并打印出最终字符串中的输入时,它看起来像这样:

So, you're '24' old, '5\'9"' tall and '140 lbs' heavy. 

如何让反斜杠消失?

不要在你的格式中使用 repr %r,使用 %s 并且字符串被简单地插入而不转义任何字符:

print "So, you're %s old, %s tall and %s heavy." % (age, height, weight)
#                  ^       ^           ^

通过使用 %r 格式标志,您可以打印字符串的 repr。 this question 中对区别进行了很好的解释,但在您的情况下具体为:

>>> s = '5\'9"' # need to escape single quote, so it doesn't end the string
>>> print(s)
5'9"
>>> print(str(s))
5'9"
>>> print(repr(s))
'5\'9"'

repr 为了明确起见,将 single-quotes 中的字符串包围起来,并转义了字符串中的每个单引号。这与您在源代码中键入常量字符串的方式非常相似。

要获得您要查找的结果,请在格式字符串中使用 %s 格式标志,而不是 %r