使用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实现生成随机日期字符串的方法示例
Dec 25 Python
Python3多线程爬虫实例讲解代码
Jan 05 Python
python写入并获取剪切板内容的实例
May 31 Python
Python实现简单的文本相似度分析操作详解
Jun 16 Python
python字符串分割及字符串的一些常规方法
Jul 24 Python
python之array赋值技巧分享
Nov 28 Python
基于python traceback实现异常的获取与处理
Dec 13 Python
python argparse模块通过后台传递参数实例
Apr 20 Python
Python3爬虫中Ajax的用法
Jul 10 Python
python使用Word2Vec进行情感分析解析
Jul 31 Python
pytorch 6 batch_train 批训练操作
May 28 Python
Python基本的内置数据类型及使用方法
Apr 13 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
第十三节--对象串行化
2006/11/16 PHP
md5 16位二进制与32位字符串相互转换示例
2013/12/30 PHP
php resizeimage 部分jpg文件 生成缩略图失败的原因分析及解决办法
2016/03/23 PHP
详解thinkphp实现excel数据的导入导出(附完整案例)
2016/12/29 PHP
PHP调用微博接口实现微博登录的方法示例
2018/09/22 PHP
自己写了一个展开和收起的多更能型的js效果
2013/03/05 Javascript
jQuery回车实现登录简单实现
2013/08/20 Javascript
jQuery对于显示和隐藏等常用状态的判断方法
2014/12/13 Javascript
javacript获取当前屏幕大小
2016/06/04 Javascript
AngularJS extend用法详解及实例代码
2016/11/15 Javascript
详解jQuery中基本的动画方法
2016/12/14 Javascript
bootstrap multiselect下拉列表功能
2017/08/22 Javascript
BootStrap Table实现server分页序号连续显示功能(当前页从上一页的结束序号开始)
2017/09/12 Javascript
JS排序算法之冒泡排序,选择排序与插入排序实例分析
2017/12/13 Javascript
vue实现tab切换外加样式切换方法
2018/03/16 Javascript
微信小程序时间控件picker view使用详解
2018/12/28 Javascript
ionic3双击返回退出应用的方法
2019/09/17 Javascript
分享8个JavaScript库可更好地处理本地存储
2020/10/12 Javascript
[03:10]2014DOTA2 TI马来劲旅Titan首战告捷目标只是8强
2014/07/10 DOTA
详解Python中的type()方法的使用
2015/05/21 Python
Python遍历文件夹和读写文件的实现代码
2016/08/28 Python
python下10个简单实例代码
2017/11/15 Python
python如何获取当前文件夹下所有文件名详解
2019/01/25 Python
PyQt5实现从主窗口打开子窗口的方法
2019/06/19 Python
解决Python命令行下退格,删除,方向键乱码(亲测有效)
2020/01/16 Python
Python Excel vlookup函数实现过程解析
2020/06/22 Python
捷克领先的户外服装及配件市场零售商:ALPINE PRO
2018/01/09 全球购物
澳洲的UGG雪地靴超级市场:Uggs.com.au
2020/04/06 全球购物
连锁酒店店长职责范本
2014/02/13 职场文书
一份关于丢失公司财物的检讨书
2014/09/19 职场文书
小学生国庆65周年演讲稿范文(2篇)
2014/09/21 职场文书
2015年个人现实表现材料
2014/12/10 职场文书
车间主任岗位职责
2015/02/03 职场文书
初中军训感言
2015/08/01 职场文书
竞选稿之小学班干部
2019/10/31 职场文书
解决Maven项目中 Invalid bound statement 无效的绑定问题
2021/06/15 Java/Android