Python 0001:生成激活码
Talk is cheap,Show me the code!
“‘
第 0001 题: 做为 Apple Store App 独立开发者,你要搞限时促销,为你的应用生成激活码(或者优惠券),使用 Python 如何生成 200 个激活码(或者优惠券)?
’”
有参考和借鉴,写这篇随笔是为了记忆和理解。
我自己的想法是用random模块做,其他也不熟悉。UUID/usid
1,生成激活码,(激活码由ID+'L'+随机数,需要知道ID和激活码长度),随机数由random.choice(chars)获得,chars=string.letters+string.digitals
2.获取激活码的ID,(用来数据库存取的时候使用)
3.程序主体
def activ_code(id,length=10): #id和激活码长度
pre=hex(int(id))[2:]+'L' #id用hexadecimal表示,只取实体部分
length=length-len(pre) #确定随机数长度
chars=string.letters+string.digits #确定random.choice()所取字符集
code=''.join([random.choice(chars) for i in range(length)]) #取剩余长度(随机数长度)字符
return pre+code
def get_id(code):
return str(int(code.upper(),16)) #返回字符状态ID数字
if __name__=="__main__":
for i in range(10,7020,35):
code=activ_code(i)
id_hex=code.split("L")[0]
id=get_id(id_hex)
print code,id