<p>通常情况下,您可以使用一个<code>for</code>循环来完成此操作;我只使用切片:</p>
<pre><code>def create_grid(grid):
table = ''
for y in range(0, LENGTH * WIDTH, WIDTH):
table += '|'.join(grid[y:y+WIDTH]) + '\n'
return table
</code></pre>
<p>对于一个<code>while</code>循环,在这个循环中,您可以使用:</p>
<pre><code>def create_grid(grid):
y = 0
size = LENGTH * WIDTH
table = ''
while y < size:
table += '|'.join(grid[y:y+WIDTH]) + '\n'
y += WIDTH
return table
</code></pre>
<p>注意,我们只是一次跳过整个网格的步骤,让每行的步骤都工作。你也可以在循环中完成这一部分:</p>
<pre><code>def create_grid(grid):
y = 0
size = LENGTH * WIDTH
table = ''
while y < size:
x = 0
while x < WIDTH:
if x:
table += '|'
table += grid[y + x]
x += 1
table += '\n'
y += WIDTH
return table
</code></pre>
<p>要按列列出网格<em>(因此,换位),需要使用:</p>
<pre><code>def create_grid(grid):
y = 0
size = LENGTH * WIDTH
table = ''
while y < LENGTH:
x = 0
while x < size:
if x:
table += '|'
table += grid[y + x]
x += LENGTH
table += '\n'
y += 1
return table
</code></pre>