如何在python中添加墙?

时间:2016-12-12 12:44:34

标签: python coordinates maze

我想通过使用坐标作为输入来为我的迷宫添加墙壁。

我有一个看起来像这样的迷宫:

|......|
|......|
|......|
|......|
|......|

我希望以*的形式添加墙壁:

|......|
|......|
|....*.|
|....*.|
|....*.|

我通过使用两个for循环(〜矩阵)制作了这个迷宫。

当我在坐标x,y?

中询问起始位置和结束位置时,我该怎么做?

我已经尝试了几次,但我似乎无法找到解决方案......

感谢您的帮助

1 个答案:

答案 0 :(得分:0)

假设您的迷宫是一系列字符列表。例如,您创建了它:

>>> maze_width, maze_height = 5, 7
>>> my_maze =  [list('|'+'.'*maze_width+'|') for _ in range(maze_height)]

要打印迷宫,您可以将列表加入:

>>> print '\n'.join(''.join(sub_maze) for sub_maze in my_maze)
|.....|
|.....|
|.....|
|.....|
|.....|
|.....|
|.....|

如您所述,为了创建边界,您需要根据索引替换子列表的内容:

>>> my_maze[6][-3], my_maze[5][-3], my_maze[4][-3] = '*', '*', '*'
#           ^   ^ Third last index of row
#           ^ 6th row

在重新打印联合列表时,它将打印:

>>> print '\n'.join(''.join(sub_maze) for sub_maze in my_maze)
|.....|
|.....|
|.....|
|.....|
|...*.|
|...*.|
|...*.|