我在这个网站上搜索了其他关于如何做到这一点的问题,但是我没有找到任何足够接近的问题来解决它。我读过关于字典的python文档,但仍然感到困惑。我知道这是基本的,但我还没弄明白。在
我有一本字典,里面有(x,y)元组作为键,我想用这本字典做一个网格。我希望网格中的每个(x,y)坐标都用“.”表示,这样我最终就有了一个点的网格,以后我可以编辑成其他符号。在
这就是我所尝试的:
def createEmptyGrid(grid_dimensions):
grid = {}
for x in range(grid_dimensions):
for y in range(grid_dimensions):
grid[x,y] = '.'
return grid
def initial_grid(cell_dimensions, density, disease):
grid = createEmptyGrid(cell_dimensions)
for cell in grid:
print grid[cell]
print initial_grid(3, 0, 0)
我的输出是:
^{pr2}$我明白为什么它给我这个输出,因为我告诉它只打印字典中的每个值,但我不知道如何修改它做我想做的。在
我的预期产出是:
. . .
. . .
. . .
谢谢任何帮助,谢谢
我认为你应该用2D列表代替dict。也许:
可运行代码:https://ideone.com/94P6ZM
这表示“对于网格中的每个单元格,将它的值打印到一个新行上”。最后一个
^{pr2}$None
来自这一行由于函数
initial_grid
没有返回值,因此它正在打印None
。在python dict不是一种非常有效的以网格形式存储值的方法,但是如果您想打印它,请尝试以下方法:
打印时需要使用网格的尺寸,以便一次打印一行:
这意味着您需要在其他函数中使用网格时跟踪维度。你每次都想把字典扫描一下 重建维度, 看起来像这样:
^{pr2}$但这将是一个有点麻烦的解决办法。在
相关问题 更多 >
编程相关推荐