如何在python中使用dlxsudoku包?

时间:2016-03-20 19:30:37

标签: python python-2.7 sudoku

我尝试使用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

如果我改变了数独&#39;到了数独&#39;在第1行,即

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文件。

如何修复错误并使程序包正常工作?和/或你能为python建议任何更好的数据解析库吗?

2 个答案:

答案 0 :(得分:1)

作为软件包的创建者,我现在已经更新了软件包(0.10.2),以便您可以像

一样导入
from dlxsudoku import Sudoku

from dlxsudoku.sudoku import Sudoku

我打算制作第一个标准,但我似乎忘了在0.10.1 ...中进行必要的导入...

答案 1 :(得分:0)

解决方案是:

from dlxsudoku.sudoku import Sudoku