格式化:多个没有空格的打印语句

时间:2015-01-30 17:45:18

标签: python python-2.7 python-2.6 python-2.x

我试图打印分散在循环中的多个东西。这是一个例子:

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

2 个答案:

答案 0 :(得分:3)

直接使用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

答案 1 :(得分:1)

发生这种情况的原因是因为带有print语句的逗号会强制两个元素之间的空格。你最好在循环中构造目标输出字符串,然后打印一次。尽可能避免在循环中完成任何类型的输出。

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