String 如何在python3中打印某些字母之间有空格的字符串?

String 如何在python3中打印某些字母之间有空格的字符串?,string,python-3.x,spacing,String,Python 3.x,Spacing,我想将输出打印为: 543 543 543 543 543 543 543 543 543 543 543 543 543 543 543 543 543 543 543 543 543 543 543 543 543 543 543 543 但我得到了: 5 4 3 5 4 3 5 4 3 5 4 3 5 4 3 5 4 3 5 4 3 5 4 3 5 4 3 5 4 3 5 4 3 5 4 3 5 4 3 5 4 3 5 4 3 5 4 3 5 4 3 5 4 3 5 4 3

我想将输出打印为:

543 
543 543 
543 543 543 
543 543 543 543 
543 543 543 543 543 
543 543 543 543 543 543 
543 543 543 543 543 543 543 
但我得到了:

5 4 3
5 4 3 5 4 3
5 4 3 5 4 3 5 4 3
5 4 3 5 4 3 5 4 3 5 4 3
5 4 3 5 4 3 5 4 3 5 4 3 5 4 3
5 4 3 5 4 3 5 4 3 5 4 3 5 4 3 5 4 3
我的代码是:

n,m = input().split(" ")
m = int(m)
i = 0
while(i<m):
    x = i*n
    print(*x)
    i += 1

任何人请解释我如何打印一组字符,字符之间用空格代替每个字符之间的空格?

您需要在某个地方添加空格。我建议将其添加到n。*运算符也是不必要的,它添加了所有不必要的空格,试图解包字符串。最后,从0开始循环的点不多,因此我也更改了循环边界:

n,m = input().split(" ")
m = int(m)
n = n+" "
i = 1
while(i<=m):
    x = i*n
    print(x)
    i += 1
输出:

543 
543 543 
543 543 543 
543 543 543 543 
543 543 543 543 543 
543 543 543 543 543 543 

以下是一个单线解决方案:

>>> n,m = input().split()
543 6
>>> print('\n'.join(' '.join([n] * i) for i in range(1, int(m) + 1)))
543
543 543
543 543 543
543 543 543 543
543 543 543 543 543
543 543 543 543 543 543
>>> n,m = input().split()
543 6
>>> print('\n'.join(' '.join([n] * i) for i in range(1, int(m) + 1)))
543
543 543
543 543 543
543 543 543 543
543 543 543 543 543
543 543 543 543 543 543