2015-12-21 43 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中的新打印功能非常方便。 –

相关问题