色婷婷狠狠18禁久久YY,CHINESE性内射高清国产,国产女人18毛片水真多1,国产AV在线观看

python 計算數獨

錢多多2年前9瀏覽0評論

Python 是一種高級編程語言,它非常適合用來計算數獨謎題。數獨是一種數學謎題,它需要在九宮格內填寫數字,使得每行、每列和每個 3x3 方塊內都含有數字 1-9,且不能重復。

Python 提供了許多庫和函數,可以幫助我們計算數獨。在下面的代碼中,我們使用了 python-constraint 庫來解決數獨謎題,該庫可以幫助我們自動生成所有可能的方案。

from constraint import *
def solve_sudoku(grid):
problem = Problem()
for i in range(9):
for j in range(9):
if grid[i][j] == 0:
problem.addVariable((i, j), range(1, 10))
for i in range(9):
problem.addConstraint(AllDifferentConstraint(), [(i, j) for j in range(9)])
problem.addConstraint(AllDifferentConstraint(), [(j, i) for j in range(9)])
for i in range(0, 9, 3):
for j in range(0, 9, 3):
square = [(x, y) for x in range(i, i+3) for y in range(j, j+3)]
problem.addConstraint(AllDifferentConstraint(), square)
solutions = problem.getSolutions()
if solutions:
return solutions[0]
else:
return None

通過上面的代碼,我們可以將數獨謎題作為一個 9x9 矩陣輸入,并得到計算結果。代碼中首先將每個空白格子的可選數字添加到問題中,然后分別加入了行、列和方塊的約束條件,最后使用 getSolutions() 方法獲取所有解決方案。如果有解決方案,我們返回其中一個解決方案,否則返回 None。

以上就是使用 Python 計算數獨的簡單示例。