2016-03-28 10 views
-1

Die Prozedur muss True oder False zurückgeben, wenn die angegebene Eingabe (nxn-Quadrat der Ziffernliste) dem Sudoku entspricht oder nicht. In Anbetracht Liste sollte return true ist keine Ziffer in jeder Zeile oder Spalte mehr als einmal vorkommtSudoku-Code zum Zurückgeben Wahr oder Falsch

Mein Code ist ein Fehler jetzt, dass sagt:

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

Bitte legen nahe, wie das obige Problem zu beheben und andere dieses Verfahren zu korrigieren

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 

Antwort

0

j sollte weniger als len(s)-1 sein, weil, wenn es erreicht len(s)-1 dann j+1-len(s) gleich ist und wirft 0.123.

Auch ich denke, j in Reichweite sein sollte len(s[i])-1 nicht len(s)

Verwandte Themen