コード例 #1
0
ファイル: grid.py プロジェクト: sys-git/pysudokusolver
 def prettyprint(self):
     s = ["--------------------------------------------------------"]
     for row in self.rows:
         for index in xrange(self._size):
             ss = []
             for cell in row:
                 sss = []
                 cellRow = cell.getRow(index)
                 for element in cellRow:
                     sss.append("%(V)04s"%{"V":element.getValue()})
                 ss.append(", ".join(sss))
             s.append("[ "+"| ".join(ss)+" ]")
         s.append("--------------------------------------------------------")
     s1 = ["--------------------------------------------------------"]
     for row in self.rows:
         for index in xrange(self._size):
             ss = []
             for cell in row:
                 sss = []
                 cellRow = cell.getRow(index)
                 for element in cellRow:
                     poss = element.getPossibles()
                     if len(poss)==0:
                         poss = "[None]"
                     else:
                         poss = "%(V)s"%{"V":list(poss)}
                     sss.append(poss)
                 ss.append(", ".join(sss))
             s1.append("[ "+"| ".join(ss)+" ]")
         s1.append("--------------------------------------------------------")
     for index in xrange(len(s)):
         s[index] = s[index] + "    " + s1[index]
     return "\n".join(s)
コード例 #2
0
ファイル: cell.py プロジェクト: sys-git/pysudokusolver
 def knowns(self):
     knowns = []
     for element in self.elements:
         if element.hasValue():
             value = element.getValue()
             if value in knowns:
                 raise LogicError(value, knowns)
             knowns.append(value)
     knowns.sort()
     return Set(knowns)
コード例 #3
0
ファイル: cell.py プロジェクト: sys-git/pysudokusolver
 def coords(self, knownValue):
     for element in self.elements:
         if element.hasValue():
             if element.getValue()==knownValue:
                 return element.row, element.col