Exemplo n.º 1
0
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,
    }
Exemplo n.º 2
0
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