piano.py, when run, opens a window that simulates a two-octave piano.
Packages needed to run piano.py: tkinter/Tkinter, simpleaudio, time and _thread.
In Python 2, it is called Tkinter, while in Python 3, it is called tkinter. I found the version control code here: http://stackoverflow.com/questions/17843596/difference-between-tkinter-and-tkinter
All of the notes that are used I found from https://www.freesound.org/people/jobro/packs/2489/?page=1#sound
All of the images that you see I created myself in http://www.picmonkey.com
To play the piano through keys on the keyboard, Z - M are the first octave white keys, and holding shift while pressing Z - M will play the second octave white keys. In the row of keys A - L, the keys that fall in between the "white" keys where the "black" keys would normally be are the sharp and flat keys. For example, because the key Z is the note C, the key S is the note C#.