回答此问题可获得 20 贡献值,回答如果被采纳可获得 50 分。
<p>我是新手,现在正在写艾尔·斯威格的书。在第四章的练习中,他问了如下问题:</p>
<p>假设您有一个列表列表,其中内部列表中的每个值都是一个字符串,如下所示:</p>
<pre><code> grid = [['.', '.', '.', '.', '.', '.'],
['.', 'O', 'O', '.', '.', '.'],
['O', 'O', 'O', 'O', '.', '.'],
['O', 'O', 'O', 'O', 'O', '.'],
['.', 'O', 'O', 'O', 'O', 'O'],
['O', 'O', 'O', 'O', 'O', '.'],
['O', 'O', 'O', 'O', '.', '.'],
['.', 'O', 'O', '.', '.', '.'],
['.', '.', '.', '.', '.', '.']]
</code></pre>
<p>可以将网格[x][y]看作是绘制的“图片”的x和y坐标处的字符
带有文本字符。(0,0)原点将在左上角
拐角处,x坐标向右增加,w
y坐标上升向下。复制上一个网格值,然后
编写使用它打印图像的代码。</p>
<pre><code>..OO.OO..
.OOOOOOO.
.OOOOOOO.
..OOOOO..
...OOO...
....O....
</code></pre>
<p>所以我已经写了代码,它做了他要求的,但我认为它写得很糟糕,我想问你我如何改进它。我的密码</p>
<pre><code>grid = [['.', '.', '.', '.', '.', '.'],
['.', 'O', 'O', '.', '.', '.'],
['O', 'O', 'O', 'O', '.', '.'],
['O', 'O', 'O', 'O', 'O', '.'],
['.', 'O', 'O', 'O', 'O', 'O'],
['O', 'O', 'O', 'O', 'O', '.'],
['O', 'O', 'O', 'O', '.', '.'],
['.', 'O', 'O', '.', '.', '.'],
['.', '.', '.', '.', '.', '.']]
newString = ''
for i in range(len(grid)):
newString += str(grid[i][0])
newString1 = '\n'
for i in range(len(grid)):
newString1 += str(grid[i][1])
newString2 = '\n'
for i in range(len(grid)):
newString2 += str(grid[i][2])
newString3 = '\n'
for i in range(len(grid)):
newString3 += str(grid[i][3])
newString4 = '\n'
for i in range(len(grid)):
newString4 += str(grid[i][4])
newString5 = '\n'
for i in range(len(grid)):
newString5 += str(grid[i][5])
print(newString+newString1+newString2+newString3+newString4+newString5)
</code></pre>
<p>程序输出:</p>
<pre><code>..OO.OO..
.OOOOOOO.
.OOOOOOO.
..OOOOO..
...OOO...
....O....
</code></pre>