Python Credit Card Generator

from random import Random
import copy
generator = Random()
generator.seed()

def creditcard(type=""):
        def credit_card_number(generator, prefixList, length):
            def _completed_number(prefix, length):
                ccnumber = prefix
                while len(ccnumber) < (length - 1):
                	digit = generator.choice(['0',  '1', '2', '3', '4', '5', '6', '7', '8', '9'])
                	ccnumber.append(digit)
                sum, pos = (0, 0)
                reversedCCnumber = []
                reversedCCnumber.extend(ccnumber)
                reversedCCnumber.reverse()
                while pos < length - 1:
                    odd = int( reversedCCnumber[pos] ) * 2
                    if odd > 9:
                        odd -= 9
                    sum += odd
                    if pos != (length - 2):
                        sum += int( reversedCCnumber[pos+1] )
                    pos += 2
                checkdigit = ((sum / 10 + 1) * 10 - sum) % 10
                ccnumber.append( str(checkdigit) )
                return ''.join(ccnumber)
            result = []
            ccnumber = copy.copy( generator.choice(prefixList) )
            result.append( _completed_number(ccnumber, length) )
            return result

        if type in "visa":
            visaPrefixList = [['4','0','2','4', '0', '0', '7', '1'],]
            return credit_card_number(generator, visaPrefixList, 16)
        elif type is "amex":
            amexPrefixList = [['3','4'],['3', '7']]
            return credit_card_number(generator, amexPrefixList, 16)
        elif type is "discover":
            discoverPrefixList = [['6','0','1','1']]
            return credit_card_number(generator, discoverPrefixList, 16)
        elif type is "mastercard":
            mastercardPrefixList = [['5','1'],['5','2'],['5','3'],['5','4'],['5','5']]
            return credit_card_number(generator, mastercardPrefixList, 16)