Python 嵌套循环数模式输出附加行?
Python Nested Loop number pattern outputting additional line?
我正在尝试创建一个专门使用 for 循环的数字网格。我的代码如下
def draw_grid (num):#x represents row y representes column
for x in range (num):
print(x+1, end= ' ' )
print()
for y in range (num):
print(y+1, end= ' ' )
例如,当我绘制一个 10 的网格时,我的输出结果是这样的。
1
1 2 3 4 5 6 7 8 9 10 2
1 2 3 4 5 6 7 8 9 10 3
1 2 3 4 5 6 7 8 9 10 4
1 2 3 4 5 6 7 8 9 10 5
1 2 3 4 5 6 7 8 9 10 6
1 2 3 4 5 6 7 8 9 10 7
1 2 3 4 5 6 7 8 9 10 8
1 2 3 4 5 6 7 8 9 10 9
1 2 3 4 5 6 7 8 9 10 10
1 2 3 4 5 6 7 8 9 10
我试过用几种不同的方式操作它,但我无法辨别是什么在顶部创建了 1 并在最右边的列创建了 2-10?我的 Y 值应该以不同的方式编码吗?
这是正在发生的事情
def draw_grid (num):#x represents row y representes column
for x in range (num):
print(x+1, end= ' ' )
print()
for y in range (num):
print(y+1, end= ' ' )
在您的外循环中,您在每次迭代时打印 x + 1
,没有换行,end = ' '
,然后打印一个新行,print()
。在您的第一次迭代中,它的打印 1
没有换行符,后跟来自 print()
的换行符,然后它进入您的内部循环并再次打印 1-10
,最后没有换行符。现在,当您的外循环发生第二次迭代时,它会打印 2
,这将在所有 y
值之后立即打印,然后是 print()
并重复该过程。
你最想要的就是这个
def draw_g(num):
for x in range(num):
for y in range(num):
print(y + 1, end = ' ')
print()
draw_g(10)
这里我们只使用外循环来确定行数,有时我们将在内循环中打印所有值。对于我们的第一次迭代,我们在 range(num)
中打印 y + 1
的所有值,一旦完成,我们使用 print()
前进到下一行,然后进行外循环的第二次迭代,这对 x in range(num)
重复
.结果是这样的。
1 2 3 4 5 6 7 8 9 10
1 2 3 4 5 6 7 8 9 10
1 2 3 4 5 6 7 8 9 10
1 2 3 4 5 6 7 8 9 10
1 2 3 4 5 6 7 8 9 10
1 2 3 4 5 6 7 8 9 10
1 2 3 4 5 6 7 8 9 10
1 2 3 4 5 6 7 8 9 10
1 2 3 4 5 6 7 8 9 10
1 2 3 4 5 6 7 8 9 10
我正在尝试创建一个专门使用 for 循环的数字网格。我的代码如下
def draw_grid (num):#x represents row y representes column
for x in range (num):
print(x+1, end= ' ' )
print()
for y in range (num):
print(y+1, end= ' ' )
例如,当我绘制一个 10 的网格时,我的输出结果是这样的。
1
1 2 3 4 5 6 7 8 9 10 2
1 2 3 4 5 6 7 8 9 10 3
1 2 3 4 5 6 7 8 9 10 4
1 2 3 4 5 6 7 8 9 10 5
1 2 3 4 5 6 7 8 9 10 6
1 2 3 4 5 6 7 8 9 10 7
1 2 3 4 5 6 7 8 9 10 8
1 2 3 4 5 6 7 8 9 10 9
1 2 3 4 5 6 7 8 9 10 10
1 2 3 4 5 6 7 8 9 10
我试过用几种不同的方式操作它,但我无法辨别是什么在顶部创建了 1 并在最右边的列创建了 2-10?我的 Y 值应该以不同的方式编码吗?
这是正在发生的事情
def draw_grid (num):#x represents row y representes column
for x in range (num):
print(x+1, end= ' ' )
print()
for y in range (num):
print(y+1, end= ' ' )
在您的外循环中,您在每次迭代时打印 x + 1
,没有换行,end = ' '
,然后打印一个新行,print()
。在您的第一次迭代中,它的打印 1
没有换行符,后跟来自 print()
的换行符,然后它进入您的内部循环并再次打印 1-10
,最后没有换行符。现在,当您的外循环发生第二次迭代时,它会打印 2
,这将在所有 y
值之后立即打印,然后是 print()
并重复该过程。
你最想要的就是这个
def draw_g(num):
for x in range(num):
for y in range(num):
print(y + 1, end = ' ')
print()
draw_g(10)
这里我们只使用外循环来确定行数,有时我们将在内循环中打印所有值。对于我们的第一次迭代,我们在 range(num)
中打印 y + 1
的所有值,一旦完成,我们使用 print()
前进到下一行,然后进行外循环的第二次迭代,这对 x in range(num)
重复
.结果是这样的。
1 2 3 4 5 6 7 8 9 10
1 2 3 4 5 6 7 8 9 10
1 2 3 4 5 6 7 8 9 10
1 2 3 4 5 6 7 8 9 10
1 2 3 4 5 6 7 8 9 10
1 2 3 4 5 6 7 8 9 10
1 2 3 4 5 6 7 8 9 10
1 2 3 4 5 6 7 8 9 10
1 2 3 4 5 6 7 8 9 10
1 2 3 4 5 6 7 8 9 10