for arg in sys.argv[1::2]: idx = sys.argv.index(arg) + 1 if len(sys.argv) <= idx: raise Exception("Specify a value for the action : " + arg) argvalue = sys.argv[idx] if arg == "-n": sudo = Sudoku(int(argvalue)) if arg == "-v": index = 0 cells_number = sudo.dimension ** 2 for value in str(argvalue).split(","): x = index // cells_number y = index - ((index // cells_number) * cells_number) sudo.set_value(x, y, value) index += 1 if arg == "-a": if argvalue == "print": sudo.print() elif argvalue == "solve": sudo.print() sudo.solve() sudo.print() elif argvalue == "generate": sudo.print() sudo.generate() sudo.print() else: raise Exception("Action not managed: " + argvalue)