我用python做了一个网格,可以打印出来。 它可以正确地显示序列或列和行。但是,当我想更改网格中的某个元素时,它似乎会将其添加到列表中,而不是替换所需的索引。 代码如下:
empty = "X"
wall = "O"
rows = 20
columns = 40
grid = ""
def GetIndexFromPosition(x,y):
index = 0
for i in range(0,y):
index += (columns)
index += x
print(index)
return index
for i in range(0,rows):
row = ""
for i in range(0,columns):
row += empty
grid += """
""" + row
l = list(grid)
l[GetIndexFromPosition(0,0)] = wall
grid = "".join(l)
print(grid)
网格应该保持在40×20的屏幕上,而不是我更改的21个单位长的行
我怀疑它是在添加一个新元素而不是替换,并将所有内容移动一个索引。要解决这个问题,只需删除元素,然后添加新元素,即
del l[GetIndexFromPosition(0,0)]
代码:
功能:
要使其成为函数:
在您的案例中使用它:
GetIndexFromPosition函数不计算换行符 在网格字符串中插入的元素
修正了换行函数:
相关问题 更多 >
编程相关推荐