Pythonのライブラリを使って数独・ナンプレを解く

Pythonのライブラリpy-sudokuをインストールします.Pythonの条件は,バージョン2.7以上.

pip install py-sudoku

数独・ナンプレの初期配置を2次元配列のboardという変数に格納します.手で入力してもいいですが,エクセルを使うと便利です.エクセルで空欄は開けておいて,空欄に0を入力して,最後はcsv形式で保存し,メモ帳などで開けると簡単に初期配置を作ることができます.
以下のプログラムを実行すると,解が得られます.

# pip install py-sudoku

from sudoku import Sudoku

board = [
    [0,0,7,0,4,0,0,0,0],
    [0,0,0,0,0,8,0,0,6],
    [0,4,1,0,0,0,9,0,0],
    [0,0,0,0,0,0,1,7,0],
    [0,0,0,0,0,6,0,0,0],
    [0,0,8,7,0,0,2,0,0],
    [3,0,0,0,0,0,0,0,0],
    [0,0,0,1,2,0,0,0,0],
    [8,6,0,0,7,0,0,0,5]
]
puzzle = Sudoku(3, 3, board=board)

print(puzzle)

puzzle.solve().show_full()

Jupyterで実行した画面を貼っておきます.

初期配置
得られた結果

興味ある方は,こちらもどうぞ.複数の答えのある数独・ナンプレ

いいなと思ったら応援しよう!