使用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 相关文章推荐
Linux下Python获取IP地址的代码
Nov 30 Python
python遍历数组的方法小结
Apr 30 Python
读写json中文ASCII乱码问题的解决方法
Nov 05 Python
详解Python里使用正则表达式的ASCII模式
Nov 02 Python
Python实现1-9数组形成的结果为100的所有运算式的示例
Nov 03 Python
Python实现的选择排序算法示例
Nov 29 Python
Python实现将多个空格换为一个空格.md的方法
Dec 20 Python
python3下载抖音视频的完整代码
Jun 05 Python
Tensorflow 模型转换 .pb convert to .lite实例
Feb 12 Python
Python3 shutil(高级文件操作模块)实例用法总结
Feb 19 Python
Python通过2种方法输出带颜色字体
Mar 02 Python
pyqt5 textEdit、lineEdit操作的示例代码
Aug 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
PHP5在Apache下的两种模式的安装
2006/09/05 PHP
Google Voice 短信发送接口PHP开源版(2010.5更新)
2010/07/22 PHP
php下封装较好的数字分页方法
2010/11/23 PHP
php正则表达式学习笔记
2015/11/13 PHP
PHP7如何开启Opcode打造强悍性能详解
2018/05/11 PHP
js页面跳转常用的几种方式
2010/11/25 Javascript
FireFox下XML对象转化成字符串的解决方法
2011/12/09 Javascript
Prototype源码浅析 Enumerable部分(二)
2012/01/18 Javascript
js实现身份证号码验证的简单实例
2014/02/19 Javascript
JS实现很酷的水波文字特效实例
2015/02/26 Javascript
Jquery1.9.1源码分析系列(十五)动画处理之外篇
2015/12/04 Javascript
ECharts仪表盘实例代码(附源码下载)
2016/02/18 Javascript
JS实现响应鼠标点击动画渐变弹出层效果代码
2016/03/25 Javascript
如何高效率去掉js数组中的重复项
2016/04/12 Javascript
详解Jquery实现ready和bind事件
2016/04/14 Javascript
js的各种排序算法实现(总结)
2016/07/23 Javascript
jQuery下拉菜单的实现代码
2016/11/03 Javascript
vue2.0组件之间传值、通信的多种方式(干货)
2018/02/10 Javascript
Vue和React有哪些区别
2020/09/12 Javascript
[59:00]OG vs TNC 2018国际邀请赛小组赛BO2 第一场 8.19
2018/08/21 DOTA
用Python遍历C盘dll文件的方法
2015/05/06 Python
简单介绍Python的Django框架加载模版的方式
2015/07/20 Python
浅谈Python2.6和Python3.0中八进制数字表示的区别
2017/04/28 Python
python+VTK环境搭建及第一个简单程序代码
2017/12/13 Python
朴素贝叶斯分类算法原理与Python实现与使用方法案例
2018/06/26 Python
Python中函数参数调用方式分析
2018/08/09 Python
Python 中的参数传递、返回值、浅拷贝、深拷贝
2019/06/25 Python
python输出pdf文档的实例
2020/02/13 Python
python图片指定区域替换img.paste函数的使用
2020/04/09 Python
用python进行视频剪辑
2020/11/02 Python
浅析HTML5中header标签的用法
2016/06/24 HTML / CSS
html5使用Drag事件编辑器拖拽上传图片的示例代码
2017/08/22 HTML / CSS
请描述一下”is a”关系和”has a”关系
2015/02/03 面试题
为什么要有struct关键字
2012/05/08 面试题
销售主管的自我评价分享
2014/01/03 职场文书
2014七年级班主任工作总结
2014/12/05 职场文书