我正在制作一个程序,该程序标识是否存在空白图块。我的二维数组中已经有一个代码
arr2 = [['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' '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' '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' '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' '0' '0' 'E' 'A' '#' 'L' 'E' '0' '0' '0' '0' '0']
['0' '0' '0' '0' '0' '0' 'P' '0' '0' '0' '0' '0' '0' '0' '0']
['0' '0' '0' '0' '0' '0' 'P' 'E' 'A' 'K' '0' '0' '0' '0' '0']
['0' '0' '0' '0' '0' '0' 'L' '0' '0' '0' '0' '0' '0' '0' '0']
['0' '0' '0' '0' '0' '0' 'E' '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' '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']]
我想将为空白图块标记的#替换为字母(A-Z)中的字母之一。我已经编写了替换空白图块的代码。
for i in arr2:
for j in i:
if j == '#':
i = [j.replace('#', 'A')]
但是由于某种原因,它仍然是#而不是A。如何将给定数组中的#(空白图块)替换为字母?另外,我如何发出弹出消息,以便玩家只需输入字母来代替#(即空白图块)?
答案 0 :(得分:0)
您要替换变量i
的内容,而不是它所来自的数组元素。
答案 1 :(得分:0)
您必须枚举数据,而不是仅遍历数据,以便获取项目的索引并替换它。
for xindex, x in enumerate(arr2):
for yindex, y in enumerate(x):
if y == "#":
arr2[xindex][yindex] = "A"
答案 2 :(得分:0)
您必须枚举数组以更改特定索引处的值。
for i, row in enumerate(arr2):
for j, cell in enumerate(row):
if cell == '#':
arr2[i][j] = 'A'
答案 3 :(得分:-1)
>>> arr = [['h','b','j','#'],['a','d','c','k']]
>>> for i in arr:
... for letter in i:
... x = letter.replace('#','A')
... print(x)
...
h
b
j
A
a
d
c
k
>>>
此示例如何更改数组中的空格字母或字符串