使用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中MYSQLdb出现乱码的解决方法
Oct 11 Python
Windows系统下使用flup搭建Nginx和Python环境的方法
Dec 25 Python
Windows上使用virtualenv搭建Python+Flask开发环境
Jun 07 Python
Python中shutil模块的常用文件操作函数用法示例
Jul 05 Python
django框架自定义用户表操作示例
Aug 07 Python
python logging模块书写日志以及日志分割详解
Jul 22 Python
基于Python的OCR实现示例
Apr 03 Python
Keras 利用sklearn的ROC-AUC建立评价函数详解
Jun 15 Python
python如何操作mysql
Aug 17 Python
浅析关于Keras的安装(pycharm)和初步理解
Oct 23 Python
Python用Jira库来操作Jira
Dec 28 Python
Python日志打印里logging.getLogger源码分析详解
Jan 17 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
德生PL990的分析评价
2021/03/02 无线电
php header Content-Type类型小结
2011/07/03 PHP
脚本之家贴图转换+转贴工具用到的js代码超级推荐
2007/04/05 Javascript
非常不错的功能强大代码简单的管理菜单美化版
2008/07/09 Javascript
MooTools 1.2介绍
2009/09/14 Javascript
如何实现textarea里的不同文本显示不同颜色
2014/01/20 Javascript
vue.js 表格分页ajax 异步加载数据
2016/10/18 Javascript
详解微信小程序开发—你期待的分享功能来了,微信小程序序新增5大功能
2016/12/23 Javascript
jquery如何实现点击空白处隐藏元素
2017/12/05 jQuery
解决vue中对象属性改变视图不更新的问题
2018/02/23 Javascript
微信小程序学习笔记之表单提交与PHP后台数据交互处理图文详解
2019/03/28 Javascript
vue 地区选择器v-distpicker的常用功能
2019/07/23 Javascript
layer.open的自适应及居中及子页面标题的修改方法
2019/09/05 Javascript
解决layui轮播图有数据不显示的情况
2019/09/16 Javascript
vue滚动插件better-scroll使用详解
2019/10/18 Javascript
微信小程序实现手指拖动选项排序
2020/04/22 Javascript
three.js 实现露珠滴落动画效果的示例代码
2021/03/01 Javascript
[01:05:41]EG vs Optic Supermajor 败者组 BO3 第二场 6.6
2018/06/07 DOTA
[52:20]DOTA2-DPC中国联赛正赛 SAG vs XGBO3 第一场 3月5日
2021/03/11 DOTA
pycharm 使用心得(一)安装和首次使用
2014/06/05 Python
9种python web 程序的部署方式小结
2014/06/30 Python
举例讲解Python中的死锁、可重入锁和互斥锁
2015/11/05 Python
Python模拟脉冲星伪信号频率实例代码
2018/01/03 Python
对python程序内存泄漏调试的记录
2018/06/11 Python
python在openstreetmap地图上绘制路线图的实现
2019/07/11 Python
浅谈Python中的字符串
2020/06/10 Python
Python实现封装打包自己写的代码,被python import
2020/07/12 Python
详解pytorch tensor和ndarray转换相关总结
2020/09/03 Python
Python爬虫教程知识点总结
2020/10/19 Python
HTML5安全介绍之内容安全策略(CSP)简介
2012/07/10 HTML / CSS
美国精品家居用品网站:US-Mattress
2016/08/24 全球购物
销售部主管岗位职责
2013/12/18 职场文书
国际商务专业职业生涯规划书范文
2014/01/17 职场文书
服务生自我鉴定
2014/01/22 职场文书
社区服务活动总结
2014/05/07 职场文书
纯CSS如何禁止用户复制网页的内容
2021/11/01 HTML / CSS