大家好,我有这个代码:
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