I no have idea how to avoid IndexError
row = 4 # stroka col = 4 # stolbec grid = ((1, 0, 0, 1, 0), (0, 1, 0, 0, 0), (0, 0, 1, 0, 1), (1, 0, 0, 1, 0), (0, 0, 1, 0, 0)) asd = [] n = -1 while n < 2: if n == -1 or n == 1: asd.append(grid[row+n][col+n]) # main diagonal asd.append(grid[row][col+n]) # horizon asd.append(grid[row+n][col]) # vertical asd.append(grid[row+n][col-n]) # secondary diagonal n += 1 print(asd.count(1))