2014-10-11 93 views
-3
import sys 
sudlist= open(sys.argv[1],'r') 
def check_sudoku(sudlist): 

使得被發現

` x = range(1, len(sudlist)+1)` 

所有行分配給平坦列表中的每個號碼的列表

rows = [[row[i] for row in sudlist] for i in range(len(sudlist))] 
    z = range(len(sudlist)) 
    for num in x: 
     for pos in z: 
      if num not in sudlist[pos] or num not in rows[pos]: 
       return False 
    return True 
d=check_sudoku(sudlist) 
print(d) 
+2

問題尋求幫助調試(「爲什麼不是這個代碼的工作?」)必須包括所期望的行爲,一個特定的問題或錯誤,並重現它在問題本身所需要的最短的代碼。沒有明確問題陳述的問題對其他讀者無益。請參閱:如何創建[最小,完整和可驗證的示例。](http://stackoverflow.com/help/mcve) – thefourtheye 2014-10-11 06:42:35

回答

0

唐對文件對象調用len。 首先使用.readlines()方法或者致電list()來閱讀它的內容。

sudlist = list(sudlist) 
x = range(1, len(sudlist)+1) 
+0

嗨,謝謝!它工作,我有另一個錯誤可以解決它「如果不是在sudlist [pos]或num不在行[pos]: TypeError:'在'需要字符串作爲左操作數,而不是int」 – 2014-10-11 06:59:48

相關問題