Для цикла пропуска последнего индекса в каждой строке моего 2D-спискаPython

Программы на Python
Ответить
Anonymous
 Для цикла пропуска последнего индекса в каждой строке моего 2D-списка

Сообщение Anonymous »

По сути, я пытаюсь пройти по всему списку и заменить каждый символ «-» числом, указывающим количество символов «#» рядом с ним, аналогично саперу, где это код, который я использую для выполнения горизонтальной проверки.
Это вроде как работает, но по какой-то причине он пропускает последний индекс в строке (крайняя правая часть), и я не могу понять, что я с этим делаю не так. Сначала я подумал, что это может быть -1, который я добавил во второй цикл for, но при этом получаю сообщение об ошибке, сообщающее, что оно выходит за пределы диапазона. Я также пытался выяснить, не связано ли это как-то с условным оператором пропуска символов хэша, но у меня все еще была та же проблема.

Код: Выделить всё

board = [["-", "#", "-"],
["#", "#", "-"],
["-", "-", "#"]]

for row in range(0, len(board)):
for col in range(0, len(board[row]) - 1):
mine_count = 0
if board[row][col] == "#":
continue
if board[row][col -1] == "#":
mine_count += 1
if board[row][col + 1] == "#":
mine_count += 1
board[row][col] = mine_count

print(board)

Код: Выделить всё

[[1, '#', '-'], ['#', '#', '-'], [1, 1, '#']]
^ Вот что я получаю, когда запускаю его.


Подробнее здесь: https://stackoverflow.com/questions/798 ... my-2d-list
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»