使用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 相关文章推荐
精确查找PHP WEBSHELL木马的方法(1)
Apr 12 Python
python实现登陆知乎获得个人收藏并保存为word文件
Mar 16 Python
Python中用max()方法求最大值的介绍
May 15 Python
编写自定义的Django模板加载器的简单示例
Jul 21 Python
Python 常用的安装Module方式汇总
May 06 Python
python好玩的项目—色情图片识别代码分享
Nov 07 Python
python的等深分箱实例
Nov 22 Python
python已协程方式处理任务实现过程
Dec 27 Python
利用Python制作动态排名图的实现代码
Apr 09 Python
python多进程使用函数封装实例
May 02 Python
python中watchdog文件监控与检测上传功能
Oct 30 Python
python 自动刷新网页的两种方法
Apr 20 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 计划任务 检测用户连接状态
2012/03/29 PHP
php递归函数中使用return的注意事项
2014/01/17 PHP
CodeIgniter CLI模式简介
2014/06/17 PHP
php获取网页中图片、DIV内容的简单方法
2014/06/19 PHP
JavaScript实现滚动栏效果的方法
2015/04/27 PHP
PHP实现的简单网络硬盘
2015/07/29 PHP
php简单压缩css样式示例
2016/09/22 PHP
php中的单引号、双引号和转义字符详解
2017/02/16 PHP
Javascript实现计算个人所得税
2015/05/10 Javascript
JavaScript编写推箱子游戏
2015/07/07 Javascript
tuzhu_req.js 实现仿百度图片首页效果
2015/08/11 Javascript
jQuery点击输入框显示验证码图片
2016/05/19 Javascript
vue指令以及dom操作详解
2017/03/04 Javascript
JavaScript登录记住密码操作(超简单代码)
2017/03/22 Javascript
bootstrap multiselect下拉列表功能
2017/08/22 Javascript
使用JS代码实现俄罗斯方块游戏
2018/08/03 Javascript
vue组件中watch props根据v-if动态判断并挂载DOM的问题
2019/05/12 Javascript
vue多页面项目中路由使用history模式的方法
2019/09/23 Javascript
小程序实现投票进度条
2019/11/20 Javascript
详解vue-cli项目在IE浏览器打开报错解决方法
2020/12/10 Vue.js
python多线程操作实例
2014/11/21 Python
基于Python实现对PDF文件的OCR识别
2016/08/05 Python
python中map()函数的使用方法示例
2017/09/29 Python
python监控进程脚本
2018/04/12 Python
python解决字符串倒序输出的问题
2018/06/25 Python
使用Python刷淘宝喵币(低阶入门版)
2019/10/30 Python
Pytorch 使用不同版本的cuda的方法步骤
2020/04/02 Python
css3气泡 css3关键帧动画创建的动态通知气泡
2013/02/26 HTML / CSS
SmartBuyGlasses丹麦:网上购买名牌太阳镜、眼镜和隐形眼镜
2016/10/01 全球购物
Blancsom美国/加拿大:服装和生活用品供应商
2018/07/27 全球购物
Lungolivigno Fashion官网:高级时装在线购物
2020/10/17 全球购物
数据库测试通常都包括哪些方面
2015/11/30 面试题
重大事项社会稳定风险评估方案
2014/06/15 职场文书
北京申奥口号
2014/06/19 职场文书
HTML5中 rem适配方案与 viewport 适配问题详解
2021/04/27 HTML / CSS
SQL使用复合索引实现数据库查询的优化
2022/05/25 SQL Server