2015-12-21 47 views
2

我想知道如何在一行中的for循環中打印一些字符串,而彼此間沒有空間。如何在一行中沒有空格的情況下在for循環中打印字符串?

我知道如何把它們放在同一行(添加一個逗號),如下圖所示:

>>> for i in range(3): 
...  print 'Hi', 
... 
Hi Hi Hi 

我也知道串聯無間隙串在一條線,但外面的for循環:

>>> print 'hi'+'hi'+'hi' 
hihihi 

但是,我不知道如何在for循環中做到這一點。

謝謝!

編輯:我的問題是在for循環中,這是不同於那些「類似」的問題,並且@Elena NNN的想法是我正在尋找的。

+0

@stidgeon謝謝! –

回答

4
s = "" 
for i in range(3): 
    s+= 'Hi' 
print s 
+0

謝謝你,你真聰明!我只是想在箱子裏哈哈。 –

1

您可以跳過print並直接調用stdout實現這個:

import sys 
for i in range(3): 
    sys.stdout.write("Hi") 
sys.stdout.write("\n") 

輸出結果爲HiHiHi。有關printstdout之間差異的冗長討論,另見this question

+0

非常感謝您採用這種更高級的方式。 –

1

您可以使用在Python 3 print功能,並指定一個end字符串是這樣的:

from __future__ import print_function 

for i in range(3): 
    print('hi', end='') 
print() 

另一種方法是使用sys.stdout.write,但我更喜歡使用新print

+0

是的,我明白了。在這種情況下,Python 3中的新打印功能非常方便。 –

相關問題