不换行打印(print 'a',)会打印一个空格,如何去掉?

125

我有这段代码:

>>> for i in xrange(20):
...     print 'a',
... 
a a a a a a a a a a a a a a a a a a a a
我想要输出 'a' ,不要像这样带上 ' '
aaaaaaaaaaaaaaaaaaaa

是否可能?


4
我很惊讶目前还没有人提到 "".join("a" for i in xrange(20))。(它比仅使用 "a" * 20 更加灵活,我认为这只是一个简化的例子)。 - Thomas K
13个回答

2

哇!!!

很久以前的事情了

现在,在Python 3.x中会非常容易

代码:

for i in range(20):
      print('a',end='') # here end variable will clarify what you want in 
                        # end of the code

输出:

aaaaaaaaaaaaaaaaaaaa 

关于print()函数的更多信息

print(value1,value2,value3,sep='-',end='\n',file=sys.stdout,flush=False)

这里:

value1,value2,value3

使用逗号可以打印出多个数值

sep = '-'

3个值将由“-”字符分隔。

您可以使用任何字符,甚至是字符串,如sep='@'或sep='good'。

end='\n'

默认情况下,print函数在输出末尾添加'\n'字符。

但是,您可以通过更改end变量的值来使用任何字符或字符串。

例如:end='$'、end='.'或end='Hello'

file=sys.stdout

这是一个默认值,系统标准输出

使用此参数,您可以创建一个像输出文件流这样的东西:

print("I am a Programmer", file=open("output.txt", "w"))

通过这段代码,您将创建一个名为output.txt的文件,其中存储了您的输出I am a Programmer

flush = False

这是一个默认值,使用flush=True可以强制刷新流。


2

就这么简单。

def printSleeping():
     sleep = "I'm sleeping"
     v = ""
     for i in sleep:
         v += i
         system('cls')
         print v
         time.sleep(0.02)

0
在Python 2中,在print后面添加(,)将会像Python 3中的end=''一样。但是如果需要空格分隔,你仍然需要使用future版本的print。
for x in ['a','b','c','d']:
   print(x),

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接