code: def actions(self, state):
          "In the leftmost empty column, try all non-conflicting rows."
          if state[-1] is not None:
              return []  # All columns filled; no successors
          else:
              col = state.index(None)
              return [row for row in range(self.N)
                      if not self.conflicted(state, row, col)f actions(self, state):
          "In the leftmost empty column, try all non-conflicting rows."
          if state[-1] is not None:
              return []  # All columns filled; no successors
          else:
              col = state.index(None)
              return [row for row in range(self.N)
                      if not self.conflicted(state, row, col)]
docs: In the leftmost empty column, try all non-conflicting rows.