title: Python - Global name not defined when it is
body: <p>Hey there I've been stumped by this simple error for the past day and haven't been able to get passed it.
  This is the part of the code I'm getting this error message:</p>
  
  <pre><code>Exception in Tkinter callback
  Traceback (most recent call last):
    File "/usr/lib/python3.2/tkinter/__init__.py", line 1402, in __call__
      return self.func(*args)
    File "/home/ppppwn3d/workspace/Python/JailBreakBob/JailBreakBob.py", line 110, in buttonclick_mainscreen
      gamescreen()
    File "/home/ppppwn3d/workspace/Python/JailBreakBob/JailBreakBob.py", line 58, in gamescreen
      if pressed == 8 and e1 == answerlistx[randomimage] and e2 == answerlisty[randomimage]:
  NameError: global name 'pressed' is not defined
  </code></pre>
  
  <p>Inside</p>
  
  <pre><code>def gamescreen():
      imagelist = ["1.gif","2.gif","3.gif","4.gif","5.gif","6.gif","7.gif","8.gif","9.gif","10.gif","11.gif","12.gif","13.gif","14.gif","15.gif","16.gif","17.gif","18.gif","19.gif","20.gif","21.gif","22.gif","23.gif","24.gif","25.gif","26.gif","27.gif","28.gif","29.gif","30.gif","31.gif","32.gif","33.gif","34.gif","35.gif","36.gif","37.gif","38.gif","39.gif","40.gif","41.gif","42.gif","43.gif","44.gif","45.gif","46.gif","47.gif","48.gif","49.gif","50.gif"]
      answerlistx = [-1, -3, 3, 4, -7, 8, 9, 10, -10, 2, -7, 7, -1, -5, -6, -9, -7, 10, -4, 8, 1, -8, -10, -1, -3, -7, -3, 7, 3, -4, 1, -8, -4, 9, -5, -10, 10, 2, 2, -10, 4, 9, -3, 6, 10, -6, 4, 9, -10, -10]
      answerlisty = [3, -6, -5, 3, -2, 4, -4, -3, 4, -6, 1, 2, 2, 3, 2, -1, -5, 1, -3, 1, -2, -2, -5, -3, -2, -6, -3, 6, 2, 0, -5, 6, -4, 4, 1, -6, 0, -6, 5, 2, 4, -4, -2, 0, -3, -6, -4, 1, -3, 1]
  
      canvas.bind("&lt;Button-1&gt;", buttonclick_gamescreen)
      canvas.pack(expand = YES, fill = BOTH)
      photo = PhotoImage(file="gamescreen.gif")
      canvas.create_image(1, 1, image = photo, anchor = NW)
      e1 = Entry(canvas, width = 11)
      e2 = Entry(canvas, width = 11)
      canvas.create_window(390, 501, window=e1, anchor = NW)
      canvas.create_window(551, 501, window=e2, anchor = NW)
      canvas.after(1, countdowntimer)
      while cdtimer != 0:
          randomimage = random.randrange(0,49+1)
          game = PhotoImage(file=imagelist[randomimage])
          images = canvas.create_image(30, 65, image = game, anchor = NW)
          if pressed == 8 and e1 == answerlistx[randomimage] and e2 == answerlisty[randomimage]:
               canvas.delete(images)
               randomimage = random.randrange(0,49+1)
               scorecounter = scorecounter + 1
               game = PhotoImage(file=imagelist[randomimage])
               images = canvas.create_image(30, 65, image = game, anchor = NW)
          elif pressed == 8 and e1 != answerlistx[randomimage] or e2 !=     answerlisty[randomimage]:
              wronganswer = canvas.create_text(400, 200, text="Incorrect", font="Ubuntu 29 bold", fill=red, anchor=NW)
              e1.delete(0.0,END)   
              e2.delete(0.0,END)
              canvas.after(1500,(canvas.delete(wronganswer)))
  </code></pre>
  
  <p>But I do have it defined in</p>
  
  <pre><code>def buttonclick_gamescreen(event):
      global pressed
      pressed = ""
  
      if event.x &gt;853 and event.x &lt;957 and event.y &gt; 8 and event.y &lt; 56 : pressed = 7 
      if event.x &gt;666 and event.x &lt;947 and event.y &gt; 491 and event.y &lt; 534 : pressed = 8 
      if pressed == 7 :
          window.destroy()
      if pressed == 8:
          print("next button")
  </code></pre>
  
  <p>Which is confusing me.
  Could someone please explain me to why this is happening and what I should do to fix it?
  Thanks in advance</p>
  
  <p>PS: Basically what I'm trying to do here is when the 'next' button is pressed it will check e1 and e2 and if the string from there matches the answer in the list then it will randomly load another image onto the canvas.</p>