2016-03-28 155 views
-1

如果給定的輸入(nxn方形數字列表)符合數獨或不符合,程序需要返回True或False。鑑於名單應該返回true或者是行或列中沒有數字發生一次以上數獨代碼返回True或False

我的代碼產生一個錯誤,現在,說:

s[i][j] == s[i][j+1]:IndexError: list index out of range 

請建議如何解決上述問題和其他任何糾正此過程

def check_sudoku(s):   
    i = 0 
    j = 0 
    while i<len(s): 
     while j<len(s): 
      if s[i][j] == s[i][j+1]: 
       return False 
      j = j + 1 
     i = i+1 
    while j<len(s): 
     while i<len(s): 
      if s[i][j] == s[i+1][j]: 
       return False 
      i=i+1 
     j=j+1 
    return True 

回答

0

j應小於len(s)-1,因爲當它達到len(s)-1然後j+1等於len(s),提高IndexError

而且我覺得j應該在範圍len(s[i])-1len(s)