使用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 相关文章推荐
ptyhon实现sitemap生成示例
Mar 30 Python
python使用Berkeley DB数据库实例
Sep 26 Python
用Python写冒泡排序代码
Apr 12 Python
Python中sort和sorted函数代码解析
Jan 25 Python
浅谈python在提示符下使用open打开文件失败的原因及解决方法
Nov 30 Python
Jacobi迭代算法的Python实现详解
Jun 29 Python
Python帮你微信头像任意添加装饰别再@微信官方了
Sep 25 Python
win10安装tesserocr配置 Python使用tesserocr识别字母数字验证码
Jan 16 Python
python Plotly绘图工具的简单使用
Mar 03 Python
Python接口测试数据库封装实现原理
May 09 Python
keras实现图像预处理并生成一个generator的案例
Jun 17 Python
Python设计密码强度校验程序
Jul 30 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
2021年最新CPU天梯图
2021/03/04 数码科技
yii的入口文件index.php中为什么会有这两句
2016/08/04 PHP
PHP命令行执行整合pathinfo模拟定时任务实例
2016/08/12 PHP
在Laravel中使用MongoDB的方法示例
2019/11/11 PHP
用javascript实现的支持lrc歌词的播放器
2007/05/17 Javascript
小议Javascript中的this指针
2010/03/18 Javascript
jquery必须知道的一些常用特效方法及使用示例(整理)
2013/06/24 Javascript
jQuery学习笔记之jQuery+CSS3的浏览器兼容性
2015/01/19 Javascript
javascript实现input file上传图片预览效果
2015/12/31 Javascript
微信小程序 canvas API详解及实例代码
2016/10/08 Javascript
JavaScript实现窗口抖动效果
2016/10/19 Javascript
nodejs和C语言插入mysql数据库乱码问题的解决方法
2017/04/14 NodeJs
jQuery返回定位插件详解
2017/05/15 jQuery
angular2 ng2 @input和@output理解及示例
2017/10/10 Javascript
vue-cli中vue本地实现跨域调试接口
2019/01/16 Javascript
js实现全选反选不选功能代码详解
2019/04/24 Javascript
vue 进阶之实现父子组件间的传值
2019/04/26 Javascript
微信提示 在浏览器打开 效果实现过程解析
2019/09/10 Javascript
深入理解基于vue-cli的webpack打包优化实践及探索
2019/10/14 Javascript
vuex管理状态仓库使用详解
2020/07/29 Javascript
python 读取文本文件的行数据,文件.splitlines()的方法
2018/07/12 Python
Django重置migrations文件的方法步骤
2019/05/01 Python
tensorflow之获取tensor的shape作为max_pool的ksize实例
2020/01/04 Python
pycharm如何使用anaconda中的各种包(操作步骤)
2020/07/31 Python
Guess美国官网:美国知名服装品牌
2019/04/08 全球购物
英国儿童设计师服装和玩具购物网站:Zac & Lulu
2020/10/19 全球购物
简单说说tomcat的配置
2013/05/28 面试题
东方红海科技面试题软件测试方面
2012/02/08 面试题
军训自我鉴定怎么写
2014/02/13 职场文书
辅导员评语
2014/05/04 职场文书
大专学生求职信
2014/07/04 职场文书
巾帼志愿者活动方案
2014/08/17 职场文书
2014年协会工作总结
2014/11/22 职场文书
2015年世界无车日活动总结
2015/03/23 职场文书
HTML5页面音频自动播放的实现方式
2021/06/21 HTML / CSS
Mysql多层子查询示例代码(收藏夹案例)
2022/03/31 MySQL