python - 数独求解器:使用此程序不提供任何输出
问题描述
grid=[[5,3,0,0,7,0,0,0,0],
[6,0,0,1,9,5,0,0,0],
[0,9,8,0,0,0,0,6,0],
[8,0,0,0,6,0,0,0,3],
[4,0,0,8,0,3,0,0,1],
[7,0,0,0,2,0,0,0,6],
[0,0,0,0,0,6,2,8,0],
[0,0,0,4,1,9,0,0,5],
[0,0,0,0,8,0,0,7,9]]
print(grid)
import numpy as np
print(np.matrix(grid))
def possible(y,x,n):
global grid
for i in range(9):
if grid [y][i]==n:
return False
for j in range(9):
if grid[j][x]==n:
return False
x0=(x//3)*3
y0=(y//3)*3
for i in range(3):
for j in range(3):
if grid[y0+i][x0+j]==n:
return False
return True
def solve():
global grid
for y in range(9):
for x in range(9):
if grid[y][x]==0:
for n in range(1,10):
if possible(y,x,n):
grid[y][x]=n
solve()
grid[y][x]=0
"""print(np.matrix(grid))"""
return
print(np.matrix(grid))
input('More?')
solve()
我试图用这个程序解决数独难题,但是求解函数程序出了点问题,它没有给出任何输出,并且在代码中包含 print(np.matrix(grid)) 这条线将给出许多包含零的输出。继承人我的代码到目前为止。
解决方案
推荐阅读
- css - css-grid 媒体查询没有响应
- java - 为什么同一个 Android App 在 Android 7.0 及更高版本之间不兼容?
- r - 如何对数据框进行多个功能
- mysql - 无法将Excel数据导入Mysql
- javascript - 是否可以“伪实现”LinkedIn 添加到个人资料按钮?
- angular - 如何使用 REST 调用的结果动态初始化 CellEditor
- elasticsearch - Elasticsearch - 如何结合 bool 和 range 过滤器
- pyspark - 需要使用 Pyspark 连接 Teradata 的解决方案
- testing - 我需要帮助查找非功能性需求基准的列表吗?
- javascript - 有没有办法在 App.Module.ts 中使用 configService?