如何使用 x, y 坐标矩阵来选择字符在 python 字符串中出现的位置?

How can I use x, y coordinate matrices to choose where a character appears in a string with python?

我正在尝试制作一个简单的迷宫游戏来测试带有遗传算法的 NNS。 每个测试的迷宫将使用一个矩阵来保存障碍物、起点、终点和玩家当前位置等事物的 x、y 点。我需要帮助的主要事情是将正确的字符放在字符串中的正确位置,这样当读取第 1-25 行的字符串时(可能使用 for 循环),它将读出地图的布局。例如,如果 "o" 是 space,障碍点 1,1 3,4 和 1,5 看起来像这样: 第一个字符串|XoooX|, 第二个字符串|ooooo|, 第三个字符串|ooooo|, 第四个字符串|ooXoo|。 有任何想法吗?提前致谢!

您可能正在寻找与此类似的内容:

width = 6
height = 6
coords = [(1,1),(3,4),(1,5)]
print('\n'.join(['|' + ''.join(['x' if (x,y) in coords else 'o' for x in range(width)]) + '|' for y in range(height)]))

使用列表理解,我们可以轻松地一次构造每一行:

''.join(['x' if (x,y) in coords else 'o' for x in range(width)])

基本上,如果坐标包含某些内容,则打印 x,否则使用 o

在...中添加边栏

'|' + ''.join([...]) + '|'

''.join() 是一个 very useful function

然后我们所要做的就是对每一行重复此操作,确保在每一行之间插入一个换行符。

'\n'.join([...])