格式化:多个打印语句,不带空格

Formatting: multiple print statements without spaces

我正在尝试循环打印多个分散的内容。这是一个例子:

print str(n)+" ",
for I in range(k):
    print str(l)+"+",
    if l>4:
        break

这给了我一个像

这样的输出
10= 1+ 2+ 3+ 4

虽然我想让它给

10=1+2+3+4

直接使用sys.stdout.write代替print:

from sys import stdout

stdout.write(str(n)+" ")
for I in range(k):
    stdout.write(str(l)+"+")
    if l>4:
        break

发生这种情况的原因是 print 语句中的逗号强制在两个元素之间使用 space。您最好在循环内构建目标输出字符串,然后打印一次。如果可能,尽量避免在循环中完成任何类型的输出。

outstr = str(n)+" "  # do you mean `str(n)+"="?`
for I in range(k):
    outstr = outstr + str(l)+"+",
    if l>4:
        break
print outstr