我在学习艰难的道路上做了第11例,我只是好奇如何使用转义序列作为高度部分。如果我要问有多高,有人在6 2"用脚和英寸作为引号如何在那里得到一些在运行时不会显示反斜杠的东西?当你运行它时,原始输入打印出像6 \' 2"。我尝试了一些事情,却无法发挥作用。
print "How tall are you?",
height = raw_input()
答案 0 :(得分:2)
在本练习中,您要求调用您从raw_input获取的信息(变量' height'现在有一个值' 6' 2"&# 39;)并使用%r
将其打印在句子中。
有不同的' %
'您可以使用的类型,%r
将为您提供“原始”类型。字符串的表示。 Zed已经要求你弄清楚%r
和%s
以及%d
之间的区别,所以你应该熟悉这一点。如果没有,请在此处阅读更多内容:
What's the difference between %r, %s and %d in python?
要回答您的问题,这应该没有问题:
print "How tall are you?"
height = raw_input()
print "You are %s tall" % height
答案 1 :(得分:1)
我认为你观察的是字符串的表示。观察:
>>> height = raw_input()
6'2'' <-- my input
>>> height
"6'2''"
>>> print height
6'2''
当您输入height
时,它将显示字符串的表示形式(即,如果您要将该值分配给字符串,您将获得与输入相同的字符串)。这也可以通过函数repr()
:
>>> print repr(height)
"6'2''"
甚至!
>>> repr(height)
'"6\'2\'\'"'
所以基本上,当你不打电话给print
时,python基本上是为你做print repr(...
。
repr()
函数
答案 2 :(得分:0)
你的问题的答案是:
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, %s tall and %r heavy." % (age, height, weight)
%r
为您提供数据的原始表示,其中%s
允许您插入(并可能格式化)字符串。