I assembled this roguelike tutorial using http://www.roguebasin.com/index.php?title=Complete_Roguelike_Tutorial,_using_python%2Blibtcod as a basis to practice using classes, dictionaries, GUI programming, and understanding game loops.
This isn't a fun game, but it is educational to look at how existing libraries can solve a lot of the difficult problems in making a video game: the library Libtcodpy.py allowed me to forego a lot of the necessary calculations for field-of-view and helped me set up GUI functionality in a manner similar to PyGame.
I would like to use py2exe http://www.py2exe.org/ to make .exe of the game to better understand how to bundle together a python script into an easily installable executable.