使用Python生成200个激活码的实现方法
题目:使用Python生成200个不重复的激活码
编写思路
#激活码一般是由26个大写字母和10个数字任意组合而成
#长度为12位或者16位的居多激活码
#一个激活码里的字符是可以重复的,而且必须要保证激活码是不能重复的
测试用例
#1、随机生成字符:数字加字母
#2、生成200个
#3、去重
编码:
第一步:随机生成16位字母跟数字的字符串
1.调用ramdom模块,使用了importrandom
2.choice()方法返回一个列表,元组或字符串的随机项
使用了random.choice(seed),从seed中随机获取字符串
3.join()方法用于将序列中的元素以指定的字符连接生成一个新的字符串
join()方法语法:str.join(sequence)
使用"".join(sa)将随机生成的16个字符串连接在一起
importrandom #生成16位字符串 defrandom_str(): seed="1234567890abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" sa=[] foriinrange(16): sa.append(random.choice(seed)) salt="".join(sa) print(salt) returnsalt
第二步:生成200个字符串
使用for循环,调用random_str()函数
foriinrange(200): L.append(random_str())
第三部:删除重复的激活码
1.添加删除重复激活码函数
当两个激活码相同时,打印出重复激活码,并对该激活码进行标识
2.删除重复激活码
对标识过的激活码进行删除
defRemoval(): foriinrange(200): forjinrange(i+1,200): ifL[i]==L[j]: print("重复的激活码:",L[i]) L[i]='-1' i=0 whilei完整代码如下:
importrandom #生成16位字符串 defrandom_str(): seed="1234567890abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" sa=[] foriinrange(16): sa.append(random.choice(seed)) salt="".join(sa) print(salt) returnsalt #去除重复激活码 defRemoval(): foriinrange(200): forjinrange(i+1,200): ifL[i]==L[j]: print("重复的激活码:",L[i]) L[i]='-1' if__name__=="__main__": L=[] foriinrange(200): L.append(random_str())#生成两百个激活码 L[0]=L[1]#校验L[0]=L[1]时,是否删除重复 Removal() i=0 whilei以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:czq8825#qq.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。