I need to make a timer for pygame to sit in the top left of the screen, but have no idea how. I want it to count down from 30secs to 0. please help cause I have no idea.

OK, first, we need to establish your engine. The traditional engine follows something like this:

Setup various media engines (Graphics, Music, Sound)
Read in game objects from disk
Setup game objects in memory

Start clock
Loop until done:
    ThisManyMilliseconds= time since last clock tick
    Read UserInput
    ForEach unprocessed Event:
        Event.Process
    ForEach GameObject:
        GameObject.Update(ThisManyMilliseconds)
    ForEach Layer
        ForEach DrawableGameObject in Layer
            Draw GameObject

GameOver
CleanUp

So, to add a countdown timer, you just do the following:

  1. Create it as a visible game object
  2. Give it the initial value of 30
  3. Subtract ThisManyMilliseconds from the timer
  4. Each tick update the on-screen timer