使用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中常见的数据类型小结
Aug 29 Python
python去掉 unicode 字符串前面的u方法
Oct 21 Python
Falsk 与 Django 过滤器的使用与区别详解
Jun 04 Python
调试Django时打印SQL语句的日志代码实例
Sep 12 Python
Python搭建代理IP池实现接口设置与整体调度
Oct 27 Python
初学者学习Python好还是Java好
May 26 Python
关于tensorflow softmax函数用法解析
Jun 30 Python
python 星号(*)的多种用途
Sep 21 Python
如何从csv文件构建Tensorflow的数据集
Sep 21 Python
Python操作Excel的学习笔记
Feb 18 Python
Python绘制数码晶体管日期
Feb 19 Python
Python访问Redis的详细操作
Jun 26 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
获得Google PR值的PHP代码
2007/01/28 PHP
简单谈谈PHP vs Node.js
2015/07/17 PHP
PHP文件上传问题汇总(文件大小检测、大文件上传处理)
2015/12/24 PHP
phpStudy中升级MySQL版本到5.7.17的方法步骤
2017/08/03 PHP
PHP实现数组向任意位置插入,删除,替换数据操作示例
2019/04/05 PHP
thinkphp5+layui实现的分页样式示例
2019/10/08 PHP
PHP+Redis链表解决高并发下商品超卖问题(实现原理及步骤)
2020/08/03 PHP
js鼠标左右键 键盘值小结
2010/06/11 Javascript
js控制CSS样式属性语法对照表
2012/12/11 Javascript
select、radio表单回显功能实现避免使用jquery载入赋值
2013/06/08 Javascript
如何获取网站icon有哪些可行的方法
2014/06/05 Javascript
node.js读取文件到字符串的方法
2015/06/29 Javascript
理解javascript闭包
2015/12/15 Javascript
jQuery插件开发精品教程让你的jQuery提升一个台阶
2016/01/27 Javascript
JavaScript编写一个贪吃蛇游戏
2017/03/09 Javascript
vue根据值给予不同class的实例
2018/09/29 Javascript
vue操作dom元素的3种方法示例
2020/09/20 Javascript
[44:50]DOTA2上海特级锦标赛B组小组赛#2 VG VS Fnatic第二局
2016/02/26 DOTA
python解析文件示例
2014/01/23 Python
python中使用OpenCV进行人脸检测的例子
2014/04/18 Python
Python线性回归实战分析
2018/02/01 Python
python微信公众号之关键词自动回复
2018/06/15 Python
Python多进程与服务器并发原理及用法实例分析
2018/08/21 Python
python 移动图片到另外一个文件夹的实例
2019/01/10 Python
Python构建图像分类识别器的方法
2019/01/12 Python
Windows上安装tensorflow  详细教程(图文详解)
2020/02/04 Python
ffmpeg+Python实现B站MP4格式音频与视频的合并示例代码
2020/10/21 Python
python读取excel数据并且画图的实现示例
2021/02/08 Python
Priority Pass机场贵宾室会籍计划:全球超过1200间机场贵宾室
2018/08/26 全球购物
新三好学生主要事迹
2014/01/23 职场文书
红旗团支部事迹材料
2014/01/27 职场文书
临时租车协议范本
2014/09/23 职场文书
2014年党务工作总结
2014/11/25 职场文书
神龙架导游词
2015/02/11 职场文书
《为人民服务》教学反思
2016/02/20 职场文书
Win11局域网共享权限在哪里设置? Win11高级共享的设置技巧
2022/04/05 数码科技