【发布时间】:2021-10-17 19:30:59
【问题描述】:
我有一个依赖于用户输入的二维数组,每个元素只有 0 和 1。示例: matric=[[1,0,1],[1,0,0],[1,0,1] 代表病毒感染,如果用户在第[1,0,1]行输入就会感染[1 ,0,1]=>[1,1,1] 因为离 1 最近的单元格会感染。我想从用户输入中获取所有行和列,如果该值是 0,即值 1 旁边或之前的值。 这是我的一些感染细胞代码:
def isInfected(grid, r, c):
return grid[r][c] == 1
功能检查获得下一次感染:
def getNextInfectedCells(grid):
row = len(grid)
column = len(grid[0])
result = []
for r in range(row):
result.append([])
for c in range(column:
if(r==0 or r==row-1) or (c==0 or c==column-1):
result.append(grid[r][c])
elif grid[r][c]==0:
result[r].append(0)
else:
result[r].append(grid[r][c])
for line in result:
print(line)
怎么了!它不起作用 最好的尊重!
【问题讨论】:
-
你能分享你遇到的错误吗?
-
您正在尝试在 result[r].append(0) 和 result[r] 中将一个 int 值 ( result[r] ) 附加到一个 int 值 ( grid[r][c] ) .append(grid[r][c]) 两个地方。
-
for c in range(column: 也是错误的,你忘了右括号。
标签: python arrays replace find 2d