def executeuserinputloop(): i = readpositiveint( '\nPuzzle Generation Tactics \n1: From File\n2: Random Puzzle\n3: Hill Climbing\n4: Genetic Algorithm\n\nEnter your choice: ' ) if i == 1: print('\n----- Generate from File -----\n') filename = input('Input filename: ') f = open(filename, 'r') puz = Puzzle(int(f.readline())) puz.fromfile(f) elif i == 2: print('\n----- Random Puzzle -----\n') dim = readpositiveint('Puzzle dimension: ') puz = Puzzle(dim) elif i == 3: print('\n----- Hill Climbing -----\n') dim = readpositiveint('Puzzle dimension: ') iters = readpositiveint('Algorithm iterations: ') puz = hillclimbing(dim, iters) elif i == 4: print('\n----- Genetic Algorithm -----\n') dim = readpositiveint('Puzzle dimension: ') iters = readpositiveint('Algorithm iterations: ') # dim: puzzle dimension, iters: iterations of algorithm puz = geneticalgorithm(dim, iters) else: print('Invalid choice...') sys.exit() puz.printmovenums() puz.printdistances() i = readpositiveint( '\nPuzzle generated... \n1: Display puzzle\n2: Run A*\n3: Run BFS\n4: Run SPF\nEnter your choice: ' ) if i == 1: gui = Gui(puz) gui.title('Puzzle') gui.mainloop() elif i == 2: puz.astar() elif i == 3: puz.bfs() elif i == 4: puz.spf() else: print('Invalid choice...')