def solve(cube, method = Beginner.BeginnerSolver, *args, **kwargs):
if isinstance(method, basestring):
if not method in METHODS:
raise ValueError('Invalid method name, must be one of (%s)' %
', '.join(METHODS.keys())
)
method = METHODS[method]
if not issubclass(method, Solver):
raise ValueError('Method %s is not a valid Solver subclass' %
method.__class__.__name__
)
cube = _check_valid_cube(cube)
solver = method(cube)
return solver.solution(*args, **kwargs)
评论列表
文章目录