使用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 相关文章推荐
使用Node.js和Socket.IO扩展Django的实时处理功能
Apr 20 Python
Python获取文件所在目录和文件名的方法
Jan 12 Python
Python优先队列实现方法示例
Sep 21 Python
简单实现Python爬取网络图片
Apr 01 Python
深入浅析python with语句简介
Apr 11 Python
python numpy 显示图像阵列的实例
Jul 02 Python
浅谈python的输入输出,注释,基本数据类型
Apr 02 Python
Django实现web端tailf日志文件功能及实例详解
Jul 28 Python
python实现生成Word、docx文件的方法分析
Aug 30 Python
Python中用pyinstaller打包时的图标问题及解决方法
Feb 17 Python
用python实现监控视频人数统计
May 21 Python
python中sqllite插入numpy数组到数据库的实现方法
Jun 21 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邮件专题
2006/10/09 PHP
用PHP的ob_start();控制您的浏览器cache!
2006/11/25 PHP
JS小框架 fly javascript framework
2009/11/26 Javascript
自动设置iframe大小的jQuery代码
2013/09/11 Javascript
web前端设计师们常用的jQuery特效插件汇总
2014/12/07 Javascript
浅析javascript中函数声明和函数表达式的区别
2015/02/15 Javascript
js简单实现竖向tab选项卡的方法
2015/05/04 Javascript
Javascript将双字节字符转换成单字节字符并计算长度
2016/06/22 Javascript
微信小程序 后台https域名绑定和免费的https证书申请详解
2016/11/10 Javascript
微信小程序 swiper制作tab切换实现附源码
2017/01/21 Javascript
Bootstrap Table使用整理(二)
2017/06/09 Javascript
基于JavaScript实现大文件上传后端代码实例
2020/08/18 Javascript
vue+elementUI动态增加表单项并添加验证的代码详解
2020/12/17 Vue.js
跟老齐学Python之数据类型总结
2014/09/24 Python
详解Python中break语句的用法
2015/05/14 Python
详解Python import方法引入模块的实例
2017/08/02 Python
详谈pandas中agg函数和apply函数的区别
2018/04/20 Python
Python 使用多属性来进行排序
2019/09/01 Python
Python with关键字,上下文管理器,@contextmanager文件操作示例
2019/10/17 Python
Python中bisect的使用方法
2019/12/31 Python
如何解决tensorflow恢复模型的特定值时出错
2020/02/06 Python
Python如何使用OS模块调用cmd
2020/02/27 Python
python实现FTP文件传输的方法(服务器端和客户端)
2020/03/20 Python
用CSS3绘制三角形的简单方法
2015/07/17 HTML / CSS
Alexandre Birman美国官网:亚历山大·伯曼
2019/10/30 全球购物
C#笔试题和英文面试题
2013/02/07 面试题
新闻专业应届生求职信
2013/10/31 职场文书
商务助理岗位职责
2013/11/13 职场文书
运动员加油词
2015/07/18 职场文书
2015年学校综合治理工作总结
2015/07/20 职场文书
二十年同学聚会致辞
2015/07/28 职场文书
HTML5简单实现添加背景音乐的几种方法
2021/05/12 HTML / CSS
解决Maven项目中 Invalid bound statement 无效的绑定问题
2021/06/15 Java/Android
OpenCV实现普通阈值
2021/11/17 Java/Android
Elasticsearch 批量操作
2022/04/19 Python
Windows Server 修改远程桌面端口的实现
2022/06/25 Servers