如何在 python3 中打印一个字符串,其中某些字母之间有空格?

how to print a string with seperation of certain letters with spaces between them in python3?

我想将输出打印为:

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

任何人请解释我如何打印一组字符之间有空格而不是每个字符之间有空格?

您需要在某处添加 space。我建议将其添加到 n* 运算符也是不必要的(它是添加所有不必要的 space 的东西,试图 "unpack" 一个字符串)。最后,从 0 开始循环没有多大意义,所以我也更改了循环边界:

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

输入:

543 6

输出:

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