在python中,如果我说

print 'h'

得到字母h和换行符。如果我说

print 'h',

我得到了字母h,没有换行符。如果我说

print 'h',
print 'm',

我得到字母h,一个空格,和字母m。我如何阻止Python打印空格?

print语句是同一个循环的不同迭代,所以我不能只使用+运算符。


当前回答

import sys
a=raw_input()
for i in range(0,len(a)):
       sys.stdout.write(a[i])

其他回答

import sys

sys.stdout.write('h')
sys.stdout.flush()

sys.stdout.write('m')
sys.stdout.flush()

您需要调用sys.stdout.flush(),否则它将把文本保存在缓冲区中,而您将看不到它。

你可以像使用C语言中的printf函数一样使用print。

e.g.

打印“%s%s”% (x, y)

print("{0}{1}{2}".format(a, b, c))

重新控制你的控制台!简单:

from __past__ import printf

其中__past__.py包含:

import sys
def printf(fmt, *varargs):
    sys.stdout.write(fmt % varargs)

然后:

>>> printf("Hello, world!\n")
Hello, world!
>>> printf("%d %d %d\n", 0, 1, 42)
0 1 42
>>> printf('a'); printf('b'); printf('c'); printf('\n')
abc
>>>

额外奖励:如果你不喜欢打印>> f,…,您可以将此跳跃扩展到fprintf(f,…)。

print('''first line \
second line''')

它会产生

第一行,第二行