使用Python生成200个激活码的实现方法


Posted in Python onNovember 22, 2019

题目:使用 Python 生成 200 个不重复的激活码

编写思路

# 激活码一般是由26个大写字母和10个数字任意组合而成
# 长度为12位或者16位的居多激活码
# 一个激活码里的字符是可以重复的,而且必须要保证激活码是不能重复的

测试用例

# 1、随机生成字符:数字加字母
# 2、生成200个
# 3、去重

编码:

第一步:随机生成16位字母跟数字的字符串

1.调用ramdom模块,使用了import random

2.choice() 方法返回一个列表,元组或字符串的随机项

使用了random.choice(seed),从seed中随机获取字符串

3.join() 方法用于将序列中的元素以指定的字符连接生成一个新的字符串

join()方法语法:str.join(sequence)

使用"".join(sa)将随机生成的16个字符串连接在一起

import random

# 生成16位字符串
def random_str():
  seed = "1234567890abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"
  sa = []
  for i in range(16):
    sa.append(random.choice(seed))
  salt = "".join(sa)
  print(salt)
  return salt

第二步:生成200个字符串

使用for循环,调用random_str()函数

for i in range(200):
     L.append(random_str())

第三部:删除重复的激活码

1.添加删除重复激活码函数

当两个激活码相同时,打印出重复激活码,并对该激活码进行标识

2.删除重复激活码

对标识过的激活码进行删除

def Removal():
  for i in range(200):
    for j in range(i+1,200):
      if L[i] == L[j]:
        print("重复的激活码:", L[i])
        L[i] = '-1'
i = 0
while i < len(L):
  if L[i] == '-1':
    print("删除重复元素", L[i])
    L.remove(L[i])
    i -= 1
  else:
    i +=1

完整代码如下:

import random

# 生成16位字符串
def random_str():
  seed = "1234567890abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"
  sa = []
  for i in range(16):
    sa.append(random.choice(seed))
  salt = "".join(sa)
  print(salt)
  return salt

# 去除重复激活码
def Removal():
  for i in range(200):
    for j in range(i+1,200):
      if L[i] == L[j]:
        print("重复的激活码:", L[i])
        L[i] = '-1'


if __name__ =="__main__":
  L = []
  for i in range(200):
    L.append(random_str()) #生成两百个激活码
  L[0] = L[1] #校验L[0]=L[1]时,是否删除重复
  Removal()
  i = 0
  while i < len(L):
    if L[i] == '-1':
      print("删除重复元素", L[i])
      L.remove(L[i])
      i -= 1
    else:
      i +=1

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python 统计列表中不同元素的数量方法
Jun 29 Python
Django 连接sql server数据库的方法
Jun 30 Python
Python Pandas 箱线图的实现
Jul 23 Python
python中的TCP(传输控制协议)用法实例分析
Nov 15 Python
python如何判断IP地址合法性
Apr 05 Python
基于Python中random.sample()的替代方案
May 23 Python
Python数据相关系数矩阵和热力图轻松实现教程
Jun 16 Python
浅析Python __name__ 是什么
Jul 07 Python
python3中for循环踩过的坑记录
Dec 14 Python
Python中相见恨晚的技巧
Apr 13 Python
python opencv通过4坐标剪裁图片
Jun 05 Python
Pandas数据类型之category的用法
Jun 28 Python
Python的几种主动结束程序方式
Nov 22 #Python
python实现超市商品销售管理系统
Nov 22 #Python
python实现二分类的卡方分箱示例
Nov 22 #Python
python的等深分箱实例
Nov 22 #Python
基于python实现学生信息管理系统
Nov 22 #Python
基于python cut和qcut的用法及区别详解
Nov 22 #Python
python创建学生成绩管理系统
Nov 22 #Python
You might like
php登陆页的密码处理方式分享
2013/10/14 PHP
详解PHP中的状态模式编程
2015/08/11 PHP
动态刷新 dorado树的js代码
2009/06/12 Javascript
javascript 写类方式之二
2009/07/05 Javascript
jQuery 获取对象 根据属性、内容匹配, 还有表单元素匹配
2010/05/31 Javascript
文本框回车提交与禁止提交示例
2013/09/27 Javascript
JavaScript实现列出数组中最长的连续数
2014/12/29 Javascript
基于OL2实现百度地图ABCD marker的效果
2015/10/01 Javascript
详解springmvc 接收json对象的两种方式
2016/12/06 Javascript
JavaScript实现星级评分
2017/01/12 Javascript
nodejs批量下载图片的实现方法
2017/05/19 NodeJs
webpack打包js的方法
2018/03/12 Javascript
JavaScript 五大常见函数
2018/03/23 Javascript
vue 注册组件的使用详解
2018/05/05 Javascript
JavaScript碎片—函数闭包(模拟面向对象)
2019/03/13 Javascript
js实现旋转木马轮播图效果
2020/01/10 Javascript
[02:55]DOTA2英雄基础教程 发条技师
2013/12/04 DOTA
python查找指定具有相同内容文件的方法
2015/06/28 Python
python re模块的高级用法详解
2018/06/06 Python
python os用法总结
2018/06/08 Python
django富文本编辑器的实现示例
2019/04/10 Python
Python正则表达式匹配日期与时间的方法
2019/07/07 Python
TensorFlow 读取CSV数据的实例
2020/02/05 Python
详解CSS3选择器的使用方法汇总
2015/11/24 HTML / CSS
台湾流行服饰购物平台:OB严选
2018/01/21 全球购物
牦牛毛户外探险服装:Kora
2019/02/08 全球购物
馥蕾诗美国官网:Fresh美国
2019/10/09 全球购物
维多利亚的秘密阿联酋官网:Victoria’s Secret阿联酋
2019/12/07 全球购物
yy婚礼司仪主持词
2014/03/14 职场文书
一体化教学实施方案
2014/05/10 职场文书
瞿秋白纪念馆观后感
2015/06/10 职场文书
母亲节主题班会
2015/08/14 职场文书
2016大学生求职自荐信范文
2016/01/28 职场文书
2016年教育局“我们的节日——端午节”主题活动总结
2016/04/01 职场文书
Python编解码问题及文本文件处理方法详解
2021/06/20 Python
使用HttpSessionListener监听器实战
2022/03/17 Java/Android