如何在 python 中使用 dlxsudoku 包?
How to use dlxsudoku package in python?
我正在尝试使用 https://pypi.python.org/pypi/dlxsudoku
提供的 dlxsudoku 包在 python 中实现数独求解器
在尝试实施记录的代码时,可在提供的网站上获得,即
from dlxsudoku import Sudoku
sudoku_string_1 = "030467050920010006067300148301006027400850600090200400005624001203000504040030702"
sudoku_string_2 = "# Example Sudoku\n" + \
"*72****6*\n" + \
"***72*9*4\n" + \
"*9*1****2\n" + \
"*******4*\n" + \
"82*4*71**\n" + \
"**9*6*8**\n" + \
"***9**6**\n" + \
"**3*72*9*\n" + \
"*6*843*7*"
s1 = Sudoku(sudoku_string_1)
s1.solve()
print(s1.to_oneliner())
s2 = Sudoku(sudoku_string_2)
s2.solve()
print(s2)
我收到以下错误
Traceback (most recent call last):
File "D:\sandbox.py", line 1, in <module>
from dlxsudoku import Sudoku
ImportError: cannot import name Sudoku
如果我在第 1 行将 'Sudoku' 更改为 'sudoku',即
from dlxsudoku import sudoku
错误变为
Traceback (most recent call last):
File "D:\sandbox.py", line 15, in <module>
s1 = Sudoku(sudoku_string_1)
NameError: name 'Sudoku' is not defined
如果我尝试通过将第 15 行更改为
来解决此问题
s1 = sudoku(sudoku_string_1)
错误再次变为
Traceback (most recent call last):
File "D:\sandbox.py", line 15, in <module>
s1 = sudoku(sudoku_string_1)
TypeError: 'module' object is not callable
我正在使用 python 版本 2.7.5 并且我使用 pip 命令安装了 dlxsudoku 包:
pip install dlxsudoku
如网站上所述。我下载了执行命令的dlxsudoku-0.10.1.tar.gz文件。
如何修复错误并使程序包正常工作? and/or 你能为 python 推荐更好的数独解决库吗?
解决方案是:
from dlxsudoku.sudoku import Sudoku
作为软件包的创建者,我现在已经更新了软件包 (0.10.2
),这样您就可以像
一样导入它们
from dlxsudoku import Sudoku
和
from dlxsudoku.sudoku import Sudoku
我打算制作第一个标准,但我似乎忘记了在 0.10.1
...
中进行必要的导入
我正在尝试使用 https://pypi.python.org/pypi/dlxsudoku
提供的 dlxsudoku 包在 python 中实现数独求解器在尝试实施记录的代码时,可在提供的网站上获得,即
from dlxsudoku import Sudoku
sudoku_string_1 = "030467050920010006067300148301006027400850600090200400005624001203000504040030702"
sudoku_string_2 = "# Example Sudoku\n" + \
"*72****6*\n" + \
"***72*9*4\n" + \
"*9*1****2\n" + \
"*******4*\n" + \
"82*4*71**\n" + \
"**9*6*8**\n" + \
"***9**6**\n" + \
"**3*72*9*\n" + \
"*6*843*7*"
s1 = Sudoku(sudoku_string_1)
s1.solve()
print(s1.to_oneliner())
s2 = Sudoku(sudoku_string_2)
s2.solve()
print(s2)
我收到以下错误
Traceback (most recent call last):
File "D:\sandbox.py", line 1, in <module>
from dlxsudoku import Sudoku
ImportError: cannot import name Sudoku
如果我在第 1 行将 'Sudoku' 更改为 'sudoku',即
from dlxsudoku import sudoku
错误变为
Traceback (most recent call last):
File "D:\sandbox.py", line 15, in <module>
s1 = Sudoku(sudoku_string_1)
NameError: name 'Sudoku' is not defined
如果我尝试通过将第 15 行更改为
来解决此问题s1 = sudoku(sudoku_string_1)
错误再次变为
Traceback (most recent call last):
File "D:\sandbox.py", line 15, in <module>
s1 = sudoku(sudoku_string_1)
TypeError: 'module' object is not callable
我正在使用 python 版本 2.7.5 并且我使用 pip 命令安装了 dlxsudoku 包:
pip install dlxsudoku
如网站上所述。我下载了执行命令的dlxsudoku-0.10.1.tar.gz文件。
如何修复错误并使程序包正常工作? and/or 你能为 python 推荐更好的数独解决库吗?
解决方案是:
from dlxsudoku.sudoku import Sudoku
作为软件包的创建者,我现在已经更新了软件包 (0.10.2
),这样您就可以像
from dlxsudoku import Sudoku
和
from dlxsudoku.sudoku import Sudoku
我打算制作第一个标准,但我似乎忘记了在 0.10.1
...