使用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中的日志模块logging
Jun 19 Python
python实现的简单RPG游戏流程实例
Jun 28 Python
Python的MongoDB模块PyMongo操作方法集锦
Jan 05 Python
举例讲解Python中的Null模式与桥接模式编程
Feb 02 Python
Python开发的实用计算器完整实例
May 10 Python
浅谈Python2获取中文文件名的编码问题
Jan 09 Python
解决PyCharm的Python.exe已经停止工作的问题
Nov 29 Python
python 两个数据库postgresql对比
Oct 21 Python
解决pandas展示数据输出时列名不能对齐的问题
Nov 18 Python
python matplotlib包图像配色方案分享
Mar 14 Python
Python爬虫谷歌Chrome F12抓包过程原理解析
Jun 04 Python
基于python实现生成指定大小txt文档
Jul 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+MySQL判断update语句是否执行成功的方法
2014/08/28 PHP
Laravel框架路由配置总结、设置技巧大全
2014/09/03 PHP
php生成图片验证码-附五种验证码
2015/08/19 PHP
PHP利用imagick生成组合缩略图
2016/02/19 PHP
javascript中String类的subString()方法和slice()方法
2011/05/24 Javascript
jquery创建一个新的节点对象(自定义结构/内容)的好方法
2013/01/21 Javascript
jquery如何实现锚点链接之间的平滑滚动
2013/12/02 Javascript
JavaScript中的函数模式详解
2015/02/11 Javascript
jquery中添加属性和删除属性
2015/06/03 Javascript
CSS图片响应式 垂直水平居中
2015/08/14 Javascript
使用postMesssage()实现跨域iframe页面间的信息传递方法
2016/03/29 Javascript
JavaScript中数组去除重复的三种方法
2016/04/22 Javascript
JS监听微信、支付宝等移动app及浏览器的返回、后退、上一页按钮的事件方法
2016/08/05 Javascript
BootStrap入门教程(二)之固定的内置样式
2016/09/19 Javascript
BootStrap中jQuery插件Carousel实现轮播广告效果
2017/03/27 jQuery
基于JS实现限时抢购倒计时间表代码
2017/05/09 Javascript
微信小程序利用co处理异步流程的方法教程
2017/05/20 Javascript
javascript 中select框触发事件过程的分析
2017/08/01 Javascript
vue打包相关细节整理(小结)
2018/09/28 Javascript
微信小程序实现蒙版弹窗效果
2018/11/01 Javascript
js实现点赞效果
2020/03/16 Javascript
Vue性能优化的方法
2020/07/30 Javascript
详解在Python和IPython中使用Docker
2015/04/28 Python
在Pandas中给多层索引降级的方法
2018/11/16 Python
Python装饰器限制函数运行时间超时则退出执行
2019/04/09 Python
Python爬取爱奇艺电影信息代码实例
2019/11/26 Python
python中如何使用insert函数
2020/01/09 Python
使用matplotlib动态刷新指定曲线实例
2020/04/23 Python
Homestay中文官网:全球寄宿家庭
2018/10/18 全球购物
女子锻炼服装和瑜伽服装:Splits59
2019/03/04 全球购物
大学生党课思想汇报
2013/12/29 职场文书
巾帼志愿者活动方案
2014/08/17 职场文书
小学教师求职信范文
2015/03/20 职场文书
大学生社区义工服务心得体会
2016/01/22 职场文书
TV动画《神废柴☆偶像》公布先导PV
2022/03/20 日漫
微软团队与 NASA 科学家和惠普企业(HPE)的工程师合作
2022/04/21 数码科技