【发布时间】:2020-10-22 02:54:33
【问题描述】:
所以我正在尝试通过 Automate the Boring Stuff 一书和课程来按我的方式工作,但我很难在第 4 章末尾找出第二个练习题。
问题要求复制这个
grid =
[['.','.','.','.','.','.'],
['.','0','0','.','.','.'],
['0','0','0','0','.','.'],
['0','0','0','0','0','.'],
['.','0','0','0','0','0'],
['0','0','0','0','0','.'],
['0','0','0','0','.','.'],
['.','0','0','.','.','.'],
['.','.','.','.','.','.']]
然后写一段代码,像这样打印出来
..OO.OO..
.OOOOOOOO.
.OOOOOOOO.
..OOOOO..
...哦...
....O....
所以我能够弄清楚如何在列表值中调用列表并使用以下代码横向打印心脏:
grid = [['.','.','.','.','.','.'],
['.','0','0','.','.','.'],
['0','0','0','0','.','.'],
['0','0','0','0','0','.'],
['.','0','0','0','0','0'],
['0','0','0','0','0','.'],
['0','0','0','0','.','.'],
['.','0','0','.','.','.'],
['.','.','.','.','.','.']]
for x in grid:
for y in x:
print(y,end='')
print('\n')
现在我正试图弄清楚如何以正确的方式打印它。我知道我需要先调用整个列表中每个列表中 0 索引处的值,然后是 1 索引,依此类推。
我查看了其他答案并将我的代码调整为:
for x in range(len(grid[0])):
for y in range(len(grid)):
print(grid[x][y],end='')
print('\n')
最初我没有 range(len()) 但它给了我一个错误,说索引必须是整数(这是使用我假设的 len 函数修复的,因为 len 函数返回一个实际的整数,对吗?)。现在我收到一个错误,表明我的列表超出范围。几个小时以来,我一直试图自己解决这个问题,但我根本不理解并试图平息我的挫败感。谁能帮我吗?我已经看到了一些其他答案,其中包含一些用于完成练习的更高级的方法,但我真的很想掌握我现在正在学习的这些概念,而且只是一般的基础知识,所以我只是在寻找涉及真正最简单的列表方法的建议,和循环。谢谢大家,如有需要,我可以添加更多信息。
【问题讨论】:
标签: python list loops for-loop