gpt4 book ai didi

python - 使用 Python 自动化无聊的事情,第 4 章练习

转载 作者:太空狗 更新时间:2023-10-29 21:12:36 26 4
gpt4 key购买 nike

我是新手,目前正在研究 Al Sweigar 的书。在第 4 章的练习中,他提出以下问题,

假设您有一个列表列表,其中内部列表中的每个值都是一个单字符字符串,如下所示:

 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', '.', '.', '.'],
['.', '.', '.', '.', '.', '.']]

您可以将 grid[x][y] 视为绘制的“图片”的 x 和 y 坐标处的字符 与文字字符。 (0, 0) 原点将在左上角 角,x 坐标向右增加,而 w y 坐标向下增加。复制之前的网格值,和 编写使用它来打印图像的代码。

..OO.OO.. 
.OOOOOOO.
.OOOOOOO.
..OOOOO..
...OOO...
....O....

所以我已经编写了代码,它按照他的要求做了,但我认为它写得很糟糕,我想问你我该如何改进它。我的代码,

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)

程序输出:

..OO.OO..
.OOOOOOO.
.OOOOOOO.
..OOOOO..
...OOO...
....O....

最佳答案

我也是新手 - 仅使用本书涵盖的内容,并牢记循环提示中的循环,这是我的答案:

for j in range(len(grid[0])):
for i in range(len(grid)):
print(grid[i][j],end='')
print('')

关于python - 使用 Python 自动化无聊的事情,第 4 章练习,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30424355/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com