コード例 #1
0
 def puzzle_tester(self, puzzle, solution = None):
     """ Verify solvability of a sudoku puzzle and 
     correctness of the solution. If a solution is 
     provided, they are compared. """
     p = SudokuPuzzle(puzzle)
     self.assertTrue(p.solve())
     self.assertTrue(p.is_solved_correctly())
     if solution:
         self.assertEqual(p.as_line(), solution.replace("\n", ""))
コード例 #2
0
ファイル: main.py プロジェクト: lucaspetry/puzzle-fun
          [1, 2, 0, 9, 0, 7, 0, 8, 6], [3, 5, 0, 0, 4, 1, 7, 0, 2],
          [0, 0, 3, 1, 0, 0, 0, 4, 9], [0, 0, 0, 3, 0, 0, 0, 7, 8],
          [9, 1, 0, 0, 0, 0, 0, 0, 0]]

# Hard puzzle
# puzzle = [[0, 2, 6, 0, 4, 3, 0, 0, 0],
#           [0, 0, 0, 6, 0, 0, 0, 0, 0],
#           [0, 0, 3, 0, 0, 0, 2, 0, 5],
#           [5, 6, 8, 0, 0, 0, 0, 0, 2],
#           [0, 0, 0, 0, 0, 0, 9, 0, 1],
#           [0, 0, 7, 0, 0, 0, 0, 3, 0],
#           [0, 1, 0, 0, 0, 0, 0, 4, 6],
#           [7, 0, 0, 0, 6, 0, 0, 0, 0],
#           [0, 8, 0, 9, 7, 4, 0, 0, 0]]

validp = [[1, 4, 7, 2, 5, 8, 3, 6, 9], [2, 5, 8, 3, 6, 9, 4, 7, 1],
          [3, 6, 9, 4, 7, 1, 5, 8, 2], [4, 7, 1, 5, 8, 2, 6, 9, 3],
          [5, 8, 2, 6, 9, 3, 7, 1, 4], [6, 9, 3, 7, 1, 4, 8, 2, 5],
          [7, 1, 4, 8, 2, 5, 9, 3, 6], [8, 2, 5, 9, 3, 6, 1, 4, 7],
          [9, 3, 6, 1, 4, 7, 2, 5, 8]]

puzzle = SudokuPuzzle(puzzle, 3)

print(puzzle)
# puzzle.fill(0, 0, 4)
# print(puzzle.get_possible(0, 1))
NaiveSudokuSolver().solve(puzzle)
print("\nSolved:")
print(puzzle)
# print(puzzle.validate())
コード例 #3
0
 def test_unsolvable_sudoku(self):
     """ An impossible sudoku must not be solvable """
     p = SudokuPuzzle("1" * 80 + "0")
     self.assertFalse(p.solve())
コード例 #4
0
ファイル: sudokuGenerator.py プロジェクト: zkedem/schoolCode
def main():
    s = SudokuPuzzle(
        "Sudoku-boards.txt",
        "name,sudokugarden_de/files/100sudoku2-en_pdf-Nr-50,unsolved")
    y = SudokuPuzzle(
        "Sudoku-boards.txt",
        "name,sudokugarden_de/files/100sudoku2-en_pdf-Nr-50,unsolved")
    z = SudokuPuzzle("outTemp.txt")
    y.data[0], y.data[1] = y.data[1], y.data[0]
    #y.solve()
    s.solve()
    z.solve()
    #y.printDataFile()
    s.printData()
    print "\n\n"
    z.printData()