Answer to an implementation of Project Euler #8
Rename your variables and functions to be more specific and do not keep unneeded array data, like so:

def createDigits():
    global digits
    digits = []
    for i in n:
        digits.append(int(i))
    return digits

def calculateProduct(startPosition):
   global digits
   global windowSize
   factors = digits[startPosition: startPosition+windowSize]
   product = 1
   for digit in digits:
       product = product * digit
   return product

createDigits()
maxProduct = 1
windowSize = 13
for i in xrange(0, len(digits - windowSize))
   product = calculateProduct(i)
   if product &gt; maxProduct:
      maxProduct = product


EDIT: Also, might as well not scan products at the end when the window starts to shrink, since they are guaranteed to be less than the last complete window.