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

  

原文地址:https://www.cnblogs.com/hello1123/p/7410754.html