我正在做示例11学习困难的方式,我只是好奇如何使用转义序列的高度部分。如果我问你有多高,有人输入了6'2“,并用英尺和英寸作为引号,我怎么才能得到运行时不显示反斜杠的东西呢?当你运行它时,原始输入打印出来像6\'2”。我已经尝试了一些东西,但什么都不能工作。
print "How tall are you?",
height = raw_input()发布于 2016-01-07 14:01:33
在本练习中,您需要调用从raw_input (变量'height‘,现在的值为’6‘2’‘)获得的信息,并使用%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发布于 2016-01-07 13:09:53
我认为你正在观察的是字符串的表示。请注意:
>>> 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()函数的更多信息,请参阅python文档
发布于 2016-02-21 21:27:06
你的问题的答案是:
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让你插入(并可能格式化)一个字符串。
https://stackoverflow.com/questions/34647587
复制相似问题