Back to Freecodecamp

Step 18

curriculum/challenges/english/blocks/learn-classes-and-objects-by-building-a-sudoku-solver/6606b63c0fd55e4314d2ec85.md

latest1.2 KB
Original Source

--description--

If 0 is found, the method should immediately return a tuple containing the row index and column index of the empty cell.

Inside the try block, after the assignment of col, return row, col.

--hints--

You should return row, col from the try block.

js
({ test: () => assert(runPython(`_Node(_code).find_class("Board").find_function("find_empty_cell").find_for_loops()[0].find_bodies()[0].is_equivalent("try:\\n  col = contents.index(0)\\n  return row, col\\nexcept:\\n  pass")`)) })

--seed--

--seed-contents--

py
class Board:
    def __init__(self, board):
        self.board = board
--fcc-editable-region--
    def find_empty_cell(self):
        for row, contents in enumerate(self.board):
            try:
                col = contents.index(0)
            except:
                pass
--fcc-editable-region--
puzzle = [
  [0, 0, 2, 0, 0, 8, 0, 0, 0],
  [0, 0, 0, 0, 0, 3, 7, 6, 2],
  [4, 3, 0, 0, 0, 0, 8, 0, 0],
  [0, 5, 0, 0, 3, 0, 0, 9, 0],
  [0, 4, 0, 0, 0, 0, 0, 2, 6],
  [0, 0, 0, 4, 6, 7, 0, 0, 0],
  [0, 8, 6, 7, 0, 4, 0, 0, 0],
  [0, 0, 0, 5, 1, 9, 0, 0, 8],
  [1, 7, 0, 0, 0, 6, 0, 0, 5]
]

gameboard = Board(puzzle)