0

我正在使用 Python 2.7 ......我面临的问题是当我使用这段代码时

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)

输出是 -

How old are you? 35  
How tall are you? 6'2"  
How much do you weigh? 180lbs  
So, you're '35' old, '6\'2"' tall and '180lbs' heavy.

但我不希望输出的第 4 行中出现 35、180 lbs ang 6 2" 左右的单引号。怎么办

4

1 回答 1

8

不要使用%r. 改变:

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

到:

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

repr()和之间的区别在于str()repr()是字面的,并用字符串打印出引号。

这是解释器中的一个示例:

>>> 打印 '%r' % '嗨'
'你好'
>>> 打印 '%s' % '嗨'
你好
>>>
于 2013-01-07T16:30:25.723 回答