使用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 相关文章推荐
Django imgareaselect手动剪切头像实现方法
May 26 Python
Fabric 应用案例
Aug 28 Python
python+opencv实现动态物体追踪
Jan 09 Python
python pandas时序处理相关功能详解
Jul 03 Python
Python使用matplotlib 画矩形的三种方式分析
Oct 31 Python
python中的RSA加密与解密实例解析
Nov 18 Python
python3 tcp的粘包现象和解决办法解析
Dec 09 Python
pytorch 自定义参数不更新方式
Jan 06 Python
python GUI库图形界面开发之PyQt5滚动条控件QScrollBar详细使用方法与实例
Mar 06 Python
python实现二分查找算法
Sep 18 Python
pycharm使用技巧之自动调整代码格式总结
Nov 04 Python
Python开发五子棋小游戏
Apr 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 htmlentities和htmlspecialchars 的区别
2008/08/18 PHP
过滤掉PHP数组中的重复值的实现代码
2011/07/17 PHP
php截取指定2个字符之间字符串的方法
2015/04/15 PHP
typecho插件编写教程(一):Hello World
2015/05/28 PHP
PHP屏蔽关键字实现方法
2016/11/17 PHP
javascript基础的动画教程,直观易懂
2007/01/10 Javascript
IE不出现Flash激活框的小发现的js实现方法
2007/09/07 Javascript
flexigrid 类似ext grid的JS表格代码
2010/07/17 Javascript
js Html结构转字符串形式显示代码
2011/11/15 Javascript
javascript学习笔记(十三) js闭包介绍(转)
2012/06/20 Javascript
iframe异步加载实现点击左边菜单加载右边内容实例讲解
2013/03/04 Javascript
基于jquery实现智能提示控件intellSeach.js
2016/03/17 Javascript
bootstrap时间控件daterangepicker使用方法及各种小bug修复
2017/10/25 Javascript
Vue如何循环提取对象数组中的值
2020/11/18 Vue.js
node.js通过Sequelize 连接MySQL的方法
2020/12/28 Javascript
python网络编程学习笔记(六):Web客户端访问
2014/06/09 Python
Python中使用OpenCV库来进行简单的气象学遥感影像计算
2016/02/19 Python
Python读取一个目录下所有目录和文件的方法
2016/07/15 Python
Django ORM框架的定时任务如何使用详解
2017/10/19 Python
Python matplotlib画图与中文设置操作实例分析
2019/04/23 Python
浅析PyTorch中nn.Module的使用
2019/08/18 Python
pytorch 求网络模型参数实例
2019/12/30 Python
详解Django中异步任务之django-celery
2020/11/05 Python
python日志通过不同的等级打印不同的颜色(示例代码)
2021/01/13 Python
css3 中实现炫酷的loading效果
2019/04/26 HTML / CSS
css3实现文字首尾衔接跑马灯的示例代码
2020/10/16 HTML / CSS
Farfetch香港官网:汇集全球时尚奢侈品购物平台
2017/11/26 全球购物
业务员岗位职责范本
2013/12/15 职场文书
2014信息技术专业毕业生自我评价
2014/01/17 职场文书
局领导领导班子四风对照检查材料
2014/09/27 职场文书
小学教师先进事迹材料
2014/12/15 职场文书
海上钢琴师的观后感
2015/06/11 职场文书
2015暑期社会实践通讯稿
2015/07/18 职场文书
小学班主任教育随笔
2015/08/15 职场文书
7个你应该知道的JS原生错误类型
2021/04/29 Javascript
Python实现位图分割的效果
2021/11/20 Python