2015-09-03 47 views
1

在python中,我试图在下面的输入中使用print函数。在python中使用多个参数时的额外括号和省略号

room = 503 
print ('I am staying in room number', room) 

我希望下面的输出:

I am staying in room number 503 

而是我正在此:

('I am staying in room number', 503) 

我怎样才能让这个它只是顺利,因为我的期望是什么?

这似乎很好地工作时,我只有在打印功能的一个参数..

+0

Python的哪种变体? Python 2或Python 3? –

回答

0

好像这个工程:

room = 503 
print'I am staying in room number',room 
print('I am staying in room number'),(room) 
print('I am staying in room number 503') 
print room 

输出:

I am staying in room number 503 
I am staying in room number 503 
I am staying in room number 503 
503 

这似乎奇怪,我说得对吗?

0

在Python 2.x中,print构造没有括号。因此,以符合你的期望,你需要写:

room = 503 
print 'I am staying in room number', room 

注意,当你写:

room = 503 
print ('I am staying in room number', room) 

...你实际上是在打印值的元组(因为逗号)并用元素周围的圆括号打印元组。

而在这个例子:

print ('Hello') 

...它不会因为没有逗号打印括号,因此它不是一个元组。为了得到一个值,并打印相应的括号的元组,你可以添加一个逗号领先:

print ('Hello',) 

注意的是Python 3.x中,print()是一个函数,始终把括号。