# 如何使用Python生成200个优惠卷(激活码) import random import string # string.ascii_letters 26个大小写 # string.digits 0-9数字 # 获得激活码中的字母和数字组合 chars = string.ascii_letters + string.digits print(chars) # 获得4位数激活码 def getRandom(): return "".join(random.sample(chars, 4)) print(getRandom()) # 获得4列4位数激活码 以"-"串联 def concatenate(group): return "-".join([getRandom() for i in range(group)]) print(concatenate(4)) # 生成n组4列的16位激活码 def generate(n): return [concatenate(4) for i in range(n)] if __name__ == '__main__': print(generate(5))
运行结果:
abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789 BE9v Ma09-WGYp-edkj-u6lT ['Y94h-HMkg-53rl-fVJZ', 'BZF0-pJ4w-wq9N-Wdnj', 'RxhU-Jhgm-tar7-Deo2', 'EDJU-sWJo-MS8Y-L7Du', 'H3GX-puHw-MbOf-f3Nl']
知识要点:
random.sample 获取指定长度的随机序列
string.ascii_letters Python3.7 26个大小写字母字符串
string.digits 0-9数字字符串
join 将序列中的元素以指定字符连接生成新的字符串