This was a quick hack written under serious time pressure to solve a CTF puzzle. I'd refactor it except there's no point, and the puzzle server likely doesn't even exist any more. I don't like the way I ended up using global variables, I don't like the lack of clarity about the relationship between the two significant functions and the main() event loop, and in retrospect it does unnecessary things (e.g., maintaining a count of the number of items held in a list, when I could have just used len(list) instead) because of the way the program evolved as my understand of the puzzle evolved.
Here it is, if anyone else worked on this puzzle and wants to see how I ended up solving it. I get the impression most people used the enchant library, which I'd never heard of, to be honest, so I went old school with /usr/share/dict/words.