生成激活码 random/string

#做为 Apple Store App 独立开发者,你要搞限时促销,为你的应用生成激活码(或者优惠券),使用 Python 如何生成 200 个激活码(或者优惠券)?
# 考虑到实际生成环境,唯一性,查询效率上
#主键为数据库hex(ID)[2:] +  L(标示符用途) + 随机码
#import random
#import string

# -*- coding: utf-8 -*-

import random
import string

def activation_code(id,length=10,label='L'):
    '''
    id + label + 随机码
    string模块中的3个函数:string.letters,string.digits,random.choice
    '''
    prefix = hex(int(id))[2:]+ label
    length = length - len(prefix)
    chars = string.letters + string.digits
    return prefix + ''.join([random.choice(chars) for i in range(length)])

def get_id(code):
    ''' Hex to Dec '''
    return str(int(code.upper(), 16))

if __name__=="__main__":
    for i in range(10,500,35):
        code = activation_code(i)
        id_hex = code.split('L')[0]
        id  = get_id(id_hex)
        print code,id

Pingbacks已打开。

Trackbacks

引用地址

评论
发表评论