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で実行した画面を貼っておきます.
興味ある方は,こちらもどうぞ.複数の答えのある数独・ナンプレ