使用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中global与nonlocal比较
Nov 21 Python
Python中实现常量(Const)功能
Jan 28 Python
Django应用程序中如何发送电子邮件详解
Feb 04 Python
Python numpy中矩阵的基本用法汇总
Feb 12 Python
详解python校验SQL脚本命名规则
Mar 22 Python
Django接收post前端返回的json格式数据代码实现
Jul 31 Python
Python从入门到精通之环境搭建教程图解
Sep 26 Python
wxpython+pymysql实现用户登陆功能
Nov 19 Python
wxPython绘图模块wxPyPlot实现数据可视化
Nov 19 Python
使用Python爬取弹出窗口信息的实例
Mar 14 Python
基于SQLAlchemy实现操作MySQL并执行原生sql语句
Jun 10 Python
pytorch查看网络参数显存占用量等操作
May 12 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
Cakephp 执行主要流程
2010/03/24 PHP
php strnatcmp()函数的用法总结
2013/11/27 PHP
php判断一个数组是否为有序的方法
2015/03/27 PHP
php实现的中文分词类完整实例
2017/02/06 PHP
Yii框架实现多数据库配置和操作的方法
2017/05/25 PHP
在第一个input框内输入内容.textarea自动得到第一个文件框的值的javascript代码
2007/04/20 Javascript
JavaScript面向对象之体会[总结]
2008/11/13 Javascript
jquery 表单下所有元素的隐藏
2009/07/25 Javascript
JavaScript var声明变量背后的原理示例解析
2013/10/12 Javascript
js显示文本框提示文字的方法
2015/05/07 Javascript
JS动态日期时间的获取方法
2015/09/28 Javascript
javascript冒泡排序小结
2016/04/10 Javascript
解决jquery无法找到其他父级子集问题的方法
2016/05/10 Javascript
利用Javascript实现简单的转盘抽奖
2017/02/13 Javascript
详解nodeJS中读写文件方法的区别
2017/03/06 NodeJs
Bootstrap Table 删除和批量删除
2017/09/22 Javascript
Koa2 之文件上传下载的示例代码
2018/03/29 Javascript
mpvue构建小程序的方法(步骤+地址)
2018/05/22 Javascript
为什么要使用Vuex的介绍
2019/01/19 Javascript
vue项目中在外部js文件中直接调用vue实例的方法比如说this
2019/04/28 Javascript
浅谈Vue组件单元测试究竟测试什么
2020/02/05 Javascript
Python采用socket模拟TCP通讯的实现方法
2014/11/19 Python
分析Python的Django框架的运行方式及处理流程
2015/04/08 Python
Python简单进程锁代码实例
2015/04/27 Python
python 通过字符串调用对象属性或方法的实例讲解
2018/04/21 Python
Python 实现「食行生鲜」签到领积分功能
2018/09/26 Python
python自动化测试之如何解析excel文件
2019/06/27 Python
python基于K-means聚类算法的图像分割
2019/10/30 Python
美国学校校服,儿童和婴儿服装:Cookie’s Kids
2016/10/14 全球购物
俄罗斯在线购买飞机票、火车票、巴士票网站:Tutu.ru
2020/03/16 全球购物
Java中compareTo和compare的区别
2016/04/12 面试题
庆元旦活动总结
2014/07/09 职场文书
大学毕业晚会开场白
2015/05/29 职场文书
读书笔记怎么写
2015/07/01 职场文书
签证扫盲贴,41个常见签证知识,需要的拿走
2019/08/09 职场文书
MYSQL 无法识别中文的永久解决方法
2021/06/03 MySQL