输出打印转义字符 [ \ ]
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
。
我正在参加初级 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
。