def parse_maps(map_list): ''' 解析地图集,计算成功率 生成并返回其中的无解、多解地图集, ''' success_cot = 0 err_map_list = [] multi_answer_map_list = [] for map in map_list: sudoku = SudokuParser(map) back_up = sudoku.backup(map) sudoku.parse() sudoku.show_result() if sudoku.answer_length==1: success_cot += 1 elif sudoku.answer_length==0: print('origin_map') sudoku.show(extend_map=back_up) print('current_map') sudoku.show() err_map_list.append(back_up) else: multi_answer_map_list.append(map) success_rate = success_cot * 1.0 / len(map_list) print('success:{} total:{} rate:{}%'.format(success_cot,len(map_list),success_rate*100)) return { 'success_cot': success_cot, 'success_rate': success_rate, 'err_map_list': err_map_list, 'multi_answer_map_list':multi_answer_map_list, }
def get_current_map_answer(spider): #即时爬取网站地图,立刻求解,游戏外挂形式 current_map = spider.get_current_map_dict() sudoku = SudokuParser(current_map) sudoku.parse() answer_arr = [] if sudoku.answer_length==1: answer_arr = spider.map_dict_to_arr(sudoku.answer[0]) return answer_arr