Python - 删除输出中的空格

时间:2016-10-20 02:04:29

标签: python whitespace removing-whitespace

所以,我有这段代码:

print("%d" % a, end=(" "))

它有效,但在输出中,最后一个数字后面有一个空格。我需要摆脱最后的空白。我的输出需要显示在同一行,用空格分隔。在最后一个值之后应该没有空格。

这是一个例子:(n是输入,所以假设n = 5)

0 1 1 2 3

我试过.strip,.join,但没有一个能奏效。我该怎么做才能获得正确的输出?对不起,如果这是一个简单的问题,我是python的新手。

编辑:edit2:

a, b, i = 0, 1, 0
n=int(input())
for j in range(0, n):
    while i < n:
        print("%d" % a)
        a, b = b, a + b
        i += 1

1 个答案:

答案 0 :(得分:1)

您正在使用end参数自行添加尾随空格。

print("%d" % a, end=(" "))

表示以a结尾打印' '。删除end参数,将不再打印尾随空格(将打印默认的'\n')。有关详细信息,请参阅the docs for print()

另请注意,end参数不会影响您正在打印的字符串,即a不受end的影响。如果字符串a中有尾随空格,则a.strip()将删除该空格。在您的情况下,strip()没有删除它的原因是该空间不在您正在打印的字符串中,而是由print()函数添加到视觉输出中。

更新

很难说,因为在编辑中的代码片段之前或之后发生的事情是个谜,但听起来你想做的事情如下:

a, b, i = 0, 1, 0
n=int(input())
nums = []
for j in range(0, n):
    while i < n:
        nums.append(str(a))
        ...
        # Based on your desired output, 
        # I assume you modify the value of `a` somwhere in here
        ...
print(' '.join(nums))