【Python&练习题】生成随机激活码
题目来源:https://github.com/Yixiaohan/show-me-the-code
做为 Apple Store App 独立开发者,你要搞限时促销,为你的应用生成激活码(或者优惠券),使用 Python 如何生成 200 个激活码(或者优惠券)?
①激活码位数可控,一般是12或者16位,控制最大位数为16位;
②一次性生成的激活码的个数可控;
③激活码包括大写字母、数字;
④激活码不能重复;
1 import random,string#导入模块 2 3 a = string.digits +string.ascii_letters 4 #string.digits>>>数字_字符串0123456789 5 #string.ascii_letters>>>字母_字符串,大小写所有字母 6 #a=代表生成随机字符串的库 7 8 def get_key(Activation_Code_length): 9 key = '' 10 for i in range(1,Activation_Code_length+1): 11 key += random.choice(a) #获取随机字符或数字 12 if i % 4 == 0 and i !=Activation_Code_length: #每隔4个字符增加'-' 13 key += '-' 14 print(key) 15 return key 16 17 def get_all_keys(): 18 tmp=[] 19 for i in range(Activation_Code_Number): 20 one_key = get_key(Activation_Code_length) 21 if one_key not in tmp: #去掉重复key 22 tmp.append(one_key) 23 for key in tmp: 24 with open('激活码.txt','a+') as f: 25 f.write(key+'\n') #写入激活码 26 27 Activation_Code_length = int(input('输入激活码长度:')) 28 Activation_Code_Number = int(input('输入要生成的激活码数量,输入0退出:')) 29 get_all_keys()