title: UnboundLocalError: local variable 'L' referenced before assignment Python
body: <p>when trying to compile the code below I get this error</p>
  
  <pre><code>UnboundLocalError: local variable 'L' referenced before assignment
  </code></pre>
  
  <p>Can someone explain why ? Isn't a global variable assigned before anything else? </p>
  
  <p>My Python version is 2.7.3</p>
  
  <pre><code>#!/usr/bin/env python
  
  import pygame
  from pygame.locals import *
  from sys import exit
  import random
  import math
  
  R = int(8)  # promien planety
  N = 5  # liczba planet
  G = 2  # stala "grawitacyjna"
  L = 1
  
  def compute_dv(p1,p2):
      dx = p2[0]-p1[0]
      dy = p2[1]-p1[1]
      r = math.hypot(dx,dy)
      dx /= r*r
      dy /= r*r
      if(L&gt;1000):
     print "r= ", r, "dx= ", dx, "dy= ", dy, "dx/ r*r = ", dx, "dy/ r*r = ", dy
      L+=1
      return G*dx,G*dy
  
  
  def rand_color():
      r = 32*random.randint(0,7)
      g = 32*random.randint(0,7)
      b = 22*random.randint(0,7)
      return (r,g,b)
  
  
  pygame.init()
  screen = pygame.display.set_mode((640, 480), 0, 32)
  
  points = []
  vs = []
  colors = []
  
  for i in range(N):
      points.append( [random.randint(0,639), random.randint(0,480)] )
      vs.append( [0,0] )
      colors.append( rand_color() )
  
  clock = pygame.time.Clock()
  
  screen.fill( (255,255,255))
  
  while True:
      clock.tick(30)
  
  for event in pygame.event.get():
      if event.type == QUIT:
          exit()
  
  for i in range(len(points)):
     for j in range(len(points)):
        if points[i]!=points[j]:
           dvx,dvy = compute_dv( points[i],points[j])
           vs[i][0] += dvx
           vs[i][1] += dvy
  
  for i in range(len(points)):
      points[i][0] += vs[i][0]
      points[i][1] += vs[i][1]
  
  screen.fill( (255,255,255))
  
  for i in range(len(points)):
    L = []
    for w in points[i]:
  print int(round(w))
  L.append(int(round(w)))
    points[i] = L
    print points[i], "stop"
    #x = raw_input()
  
    pygame.draw.circle(screen, colors[i], points[i], R)  
  
  pygame.display.update()  
  </code></pre>