How would you be able to create multiple screens using Pygame and events performed by the user? 
For example, if I had a menu screen with 2 buttons ('Start' and 'Exit') and the user clicked on 'Start', a new screen would appear in the same window with whatever is next in the game. From that screen, a user could click on another button and move on to another screen/ return to the menu, etc.
Make classes for each one, where each class is a subclass of pygame.Surface, of the same size as the display.  Then you could have 3 variable TITLESCREEN, PLAYING, HIGHSCORES and change them on key press.  Then you would be able to blit the correct screen to the display.
Making multiple 'game screens' using Pygame