我正在尝试创建一个专门用于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值应采用不同的编码吗?
答案 0 :(得分:0)
这是正在发生的事情
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)
这里,我们仅使用外部循环来确定行数,这是我们将打印内部循环中的所有值的次数。对于我们的第一次迭代,我们在y + 1
中打印range(num)
的所有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
重复
。结果就是这样。
like the following example :
booksList.add(Book("The Wild Robot", "A 2 Categorie Book", "Description book", R.drawable.thewildrobot))
booksList.add(Book("Maria Semples", "Categorie Book", "Description book", R.drawable.mariasemples))