coordinates so we would not have to look through the entire board each time we want to know where it was (we would also need code that updates the blankspacex and blankspacey variables whenever move is done this code could go in makemove(using these variables would take up more memorybut they would save you on execution time so your program would run faster another example is that we keep board data structure in the solved state in the solvedboard variableso that we can compare the current board to solvedboard to see if the player has solved the puzzle each time we wanted to do this checkwe could just call the getstartingboard(function and compare the returned value to the current board then we would not need the solvedboard variable this would save us little bit of memorybut then our program would take longer to run because it is re-creating the solved-state board data structure each time we do this check there is one thing you must remember though writing code that is readable is very important skill code that is --readable|is code that is easy to understandespecially by programmers who did not write the code if another programmer can look at your program' source code and figure out what it does without much troublethen that program is very readable readability is important because when you want to fix bugs or add new features to your program (and bugs and ideas for new features always come up)then having readable program makes those tasks much easier nobody cares about few bytes alsothere is one thing that might seem kind of silly to say in this book because it seem obviousbut many people wonder about it you should know that using short variable names like or num instead of longermore descriptive variable names like blankx or numslides does not save you any memory when your program actually runs using these longer variable names is better because they'll make your program more readable you might also come up with some clever tricks that do save few bytes of memory here and there one trick is that when you no longer need variableyou can reuse that variable name for different purpose instead of just using two differently named variables try to avoid the temptation to do this usuallythese tricks reduce code readability and make it harder to debug your programs modern computers have billions of bytes of memoryand saving few bytes here and there really isn' worth making the code more confusing for human programmers email questions to the authoral@inventwithpython com