如何避免在python中额外换行?

时间:2018-09-17 16:40:55

标签: python python-3.x

n=int(input())

for i in range(1,n+1):
    for j in range(1, i+1):
        print(j, end=' ')
    if(i==n):
        break
    print('\n')

这段代码给我这样的输出

1 \n
\n
1 2 \n
\n
1 2 3 

但是我想得到这样的输出

1 2\n
1 2 3

我该怎么做?

3 个答案:

答案 0 :(得分:4)

print('\n')

由于print默认情况下会在输出中添加换行符,因此该行先打印换行符(您指定的换行符),然后再打印另一行换行符,共计两个换行符。

如果只想打印一个换行符,则可以从字符串文字中删除显式换行符:

print('') #or just `print()`

...或者您可以通过指定结束参数来删除隐式换行符:

print('\n', end='')

答案 1 :(得分:0)

n=int(input())

for i in range(1,n+1):
    for j in range(1, i+1):
        print(j, end=' ')
    print()

输出:

1 
1 2 
1 2 3

或者如果您打算不包括第一行:

n=int(input())

for i in range(1,n+1):
    if i == 1:
        pass
    else:
        for j in range(1, i+1):
            print(j, end=' ')
        print()

输出:

1 2 
1 2 3

答案 2 :(得分:0)

那第一次和最后一次迭代呢?

n=10
for i in range(1,n+1):
    if i==n/n or i==n:
        for j in range(1, i+1): 
            print(j, end=' ') 
        if i==n : 
            break 
        print('\n')

我认为这是您的预期输出,但我想不是

输出:

1
1 2 3 4 5 6 7 8 9 10

这种突破也没有意义。它不是JavaScript,它已经知道何时使用这些方法停止迭代:)