def run(self, autoFill=True, bCheckFromDefault=True): """ bCheckFromDefault : False -> use self.num to check, should confirm self.num is correctly """ if not autoFill: oriNum = deepcopy(self.num) if bCheckFromDefault: self.num = deepcopy(self.default_num) else: oriDefault = deepcopy(self.default_num) self.default_num = deepcopy(self.num) # set num to default # set validList for x in app.rgLINE: for y in app.rgLINE: if self.num[x][y] == 0: self.num[x][y].validList = self.getValidNum(x, y) ret = self._brute(0, 0) logger.info("ret=%s puzzle=%s", ret, util.puzzle2str(self.num)) answer = self.num if not autoFill: self.num = oriNum if not bCheckFromDefault: self.default_num = oriDefault return answer
def getCurrentPuzzle(self, bString=False): if not bString: return deepcopy(self.num) else: return util.puzzle2str(self.num)
def getDefaultPuzzle(self, bString=False): if not bString: return deepcopy(self.default) else: return util.puzzle2str(self.default)