如何在python3中打印一些字符串,其中包含某些字母与空格之间的空格?

时间:2018-02-22 10:46:13

标签: 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 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

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

2 个答案:

答案 0 :(得分: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 6

输出:

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

答案 1 :(得分:0)

这是一个单行解决方案:

>>> 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