I am trying to implement a Mario type plat-former in pyGame.  I have Collision detection working with Polygons no problem.  I am curious how I can get the player to be able to jump through the floor above him, which is a polygon floating in air.  
What is the theory on how to handle that?
you could make it so that when your character hits a block, they move up at the current speed until they are no longer colliding with the polygon. That way, when you hit the ground from above,you don't go downward through it, but when you hit the bottom, you do. I would recommend a while loop set to the collide function.
Jump Through Polygon/Floor Collision Detection