嵌套循环结果聚集在一起Python

时间:2015-04-11 15:36:18

标签: python loops for-loop

for j in range(10):
    for i in range(10):
        print(j,end=" ")

我的结果聚集在一起,每行需要10个数字。我不能使用print("0123456789")。我尝试了print(j,j,j,j,j,j,j,j,j),我得到了我正在寻找的结果,但我确定这不是编写代码的正确方法。

3 个答案:

答案 0 :(得分:3)

如果print(j,j,j,j,j,j,j,j,j)有效,那么您只需在每次迭代后添加另一个print()

for j in range(10):
    for i in range(10):
        print(j,end=" ")
    print()

输出:

0 0 0 0 0 0 0 0 0 0 
1 1 1 1 1 1 1 1 1 1 
2 2 2 2 2 2 2 2 2 2 
3 3 3 3 3 3 3 3 3 3 
4 4 4 4 4 4 4 4 4 4 
5 5 5 5 5 5 5 5 5 5 
6 6 6 6 6 6 6 6 6 6 
7 7 7 7 7 7 7 7 7 7 
8 8 8 8 8 8 8 8 8 8 
9 9 9 9 9 9 9 9 9 9 

或者简单地说:

for j in range(10):
    print(" ".join(str(j) * 10))

0 0 0 0 0 0 0 0 0 0
1 1 1 1 1 1 1 1 1 1
2 2 2 2 2 2 2 2 2 2
3 3 3 3 3 3 3 3 3 3
4 4 4 4 4 4 4 4 4 4
5 5 5 5 5 5 5 5 5 5
6 6 6 6 6 6 6 6 6 6
7 7 7 7 7 7 7 7 7 7
8 8 8 8 8 8 8 8 8 8
9 9 9 9 9 9 9 9 9 9

答案 1 :(得分:0)

为什么在使用单个for循环时使用嵌套for循环:

for i in range(10):
    print('{} '.format(i) * 10)

答案 2 :(得分:0)

这与Malik Brahimi的解决方案类似,不过它在每行的最后一位数后面没有空格:

for i in range(10):
    print(' '.join([str(i)]*10))

<强>输出

0 0 0 0 0 0 0 0 0 0
1 1 1 1 1 1 1 1 1 1
2 2 2 2 2 2 2 2 2 2
3 3 3 3 3 3 3 3 3 3
4 4 4 4 4 4 4 4 4 4
5 5 5 5 5 5 5 5 5 5
6 6 6 6 6 6 6 6 6 6
7 7 7 7 7 7 7 7 7 7
8 8 8 8 8 8 8 8 8 8
9 9 9 9 9 9 9 9 9 9

只是为了好玩,这是使用单个循环执行此操作的另一种方法,这次使用带有编号字段的格式字符串。

fmt = ('{0} ' * 10)[:-1]
for i in range(10):
    print(fmt.format(i))