Сапёр

Эта задача основана на игре «Сапёр».

Создайте функцию, которая принимает сетку из «#» и «-«. В этой сетке каждая решетка (#) представляет мину, а каждое тире (-) — место без мин.

Верните список, в котором каждое тире заменено цифрой, обозначающей количество мин, непосредственно примыкающих к тире (по горизонтали, вертикали и диагоналям).

def num_grid(lst):
    for i in range(len(lst)):
        for j in range(len(lst[i])):
            if lst[i][j] != "#":
                lst[i][j] = "0"
    for i in range(len(lst)):
        for j in range(len(lst[i])):
            if lst[i][j] == "#":
                for x in range(-1, 2):
                    for y in range(-1, 2):
                        if i + x >= 0 and j + y >= 0 and i + x < len(lst) and j + y < len(lst[i]):
                            if lst[i + x][j + y] != "#":
                                lst[i + x][j + y] = str(int(lst[i + x][j + y]) + 1)
    return lst




Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: