在Python中格式化打印



大家好,我有这个代码:

n=int(input())
for i in range(1,n+1): 
for j in range(1,n+1):
print(i*j)

输出如下:

1
2
3
4
5
2
4
6
8
10
3
6
...

但是我想得到这样的输出:

1 2 3 4 5
2 4 6 8 10
3 6 9 12 15
4 8 12 16 20
5 10 15 20 25

我不知道怎么处理这样的印刷品。

python的print函数在每次调用该函数时自动打印一个换行符。但是您可以设置它将在行尾打印的内容,添加end=''为空或为空格end=' '。你可以试试下面这个:

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

,最后的print将在每次完成第一个循环后打印一个换行符。最后输出如下所示:

5
1 2 3 4 5 
2 4 6 8 10 
3 6 9 12 15 
4 8 12 16 20 
5 10 15 20 25

Python 2.x:

n=int(input())
for i in range(1, n + 1):
val = '';
for j in range(1, n + 1):
sep = '' if(j == 5) else ' '
val += (str) (i * j) +  sep
print(val)

Python 3. x:

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

输出:

5
1 2 3 4 5
2 4 6 8 10
3 6 9 12 15
4 8 12 16 20
5 10 15 20 25
n = int(input())
for i in range(1,n + 1):
count = 0
for j in range(1, n + 1):
print(i * j, end = ' ')
count += 1
if count % (n) == 0:
count = 0
print()

我初始化了一个计数器变量,如果count mod n为0,那么我将计数器赋值为0并打印新行。这是输出

5
1 2 3 4 5 
2 4 6 8 10 
3 6 9 12 15 
4 8 12 16 20 
5 10 15 20 25

最新更新