示例#1
0
def output(sudoku: "sudoku.NativeSudoku", printer_name: str, separator: str,
           output: "io.BufferWriter", args: "Namespace"):
    """Outputs the sudoku as printer wants it"""
    printer = Register.get_printer(printer_name)
    if printer is None:
        raise UIError("Invalid printer name {}".format(printer_name))
    printer(sudoku)
示例#2
0
def solve(
        sudoku: "sudoku.NativeSudoku", solver_name: str,
        args: "Namespace") -> "sudoku.NativeSudoku|[sudoku.NativeSudoku, ...]":
    """Solves NativeSudoku with solver determined by solver"""
    solver = Register.get_solver(solver_name)
    if solver is None:
        raise UIError("Invalid solver name {}".format(solver_name))
    try:
        return solver(sudoku)
    except SolvingError as error:
        print("Solver returned error '{}'".format(error))
        if args.verbosity:
            print("Incomplete sudoku: ", end="")
            Register.get_printer('list')(error.sudoku)
        if args.exceptions:
            raise
示例#3
0
def solve(
        sudoku:"sudoku.NativeSudoku", 
        solver_name:str, 
        args:"Namespace"
        ) -> "sudoku.NativeSudoku|[sudoku.NativeSudoku, ...]":
    """Solves NativeSudoku with solver determined by solver"""
    solver = Register.get_solver(solver_name)
    if solver is None:
        raise UIError("Invalid solver name {}".format(solver_name))
    try:
        return solver(sudoku)
    except SolvingError as error:
        print("Solver returned error '{}'".format(error))
        if args.verbosity:
            print("Incomplete sudoku: ", end="")
            Register.get_printer('list')(error.sudoku)
        if args.exceptions:
            raise
示例#4
0
def output(
        sudoku:"sudoku.NativeSudoku", 
        printer_name:str, 
        separator:str, 
        output:"io.BufferWriter", 
        args:"Namespace"
        ):
    """Outputs the sudoku as printer wants it"""
    printer = Register.get_printer(printer_name)
    if printer is None:
        raise UIError("Invalid printer name {}".format(printer_name))
    printer(sudoku)