2016-03-20 22 views
0

我想雖然試圖執行文件代碼中使用dlxsudoku可包從https://pypi.python.org/pypi/dlxsudoku如何在python中使用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號線,即

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?

+0

根據你的第二個錯誤,'sudoku'似乎是'dlxsudoku'的子包。你有沒有嘗試'從dlxsudoku.sudoku導入Sudoku'? –

+0

我還沒試過,謝謝:) – codingCoffee

回答

0

解決辦法是:

from dlxsudoku.sudoku import Sudoku 
1

由於包的創造者,我現在已經更新包(0.10.2),這樣就可以像

from dlxsudoku import Sudoku 

from dlxsudoku.sudoku import Sudoku 
導入這兩個

我打算做第一個標準,但我似乎忘記了在必要的進口0.10.1 ...

相關問題