Совсем недавно начал изучать питон, как первый ЯП. После изучения базового синтаксиса языка поставил пред собой задачу написать небольшую консольную игру, а именно всем известного сапера. Само минное поле представляет собой квадратный список из бомб "B" и пустых клеток "*". Пользователь поочередно вводит координаты номера строки и столбца, которые проверяются на наличие бомбы в данной клетке. Если ее там нет, то вызывается функция считающая кол-во бомб в соседних 8 клетках и выводящая данное число на место звездочки "*" (точку "." , если бомб не обнаружено).
near_coordinates = [
[1, 1],
[1, 0],
[1, -1],
[0, -1],
[0, 1],
[-1, 1],
[-1, 0],
[-1, -1]
]
def mines_counter(a, b, lst):
counter = 0
for i in near_coordinates:
try:
if lst[a+i[0]][b+i[1]] == 'B':
counter += 1
except IndexError:
continue
if counter == 0:
return '.'
return counter
Однако, проблема в том, что, срабатывая механизм обработки исключений, вероятно работает не совсем так, как я полагаю, из-за чего рядом с границами поля мины показываются даже там где их нет
Кому не сложно, помогите разобраться с данной темой.