使用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 strip() 函数和 split() 函数的详解及实例
Feb 03 Python
Python 操作文件的基本方法总结
Aug 10 Python
Python+matplotlib绘制不同大小和颜色散点图实例
Jan 19 Python
使用python实现BLAST
Feb 12 Python
python之pandas用法大全
Mar 13 Python
Python实现一个服务器监听多个客户端请求
Apr 12 Python
Python 数据处理库 pandas进阶教程
Apr 21 Python
python简易实现任意位数的水仙花实例
Nov 13 Python
python实现支付宝转账接口
May 07 Python
只用40行Python代码就能写出pdf转word小工具
May 31 Python
这样写python注释让代码更加的优雅
Jun 02 Python
Python内置数据类型中的集合详解
Mar 18 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-CGI进程CPU 100% 与 file_get_contents 函数的关系分析
2011/08/15 PHP
深入PHP中慎用双等于(==)的详解
2013/06/06 PHP
解密ThinkPHP3.1.2版本之独立分组功能应用
2014/06/19 PHP
php导出中文内容excel文件类实例
2015/07/06 PHP
javascript中获取选中对象的类型
2007/04/02 Javascript
Prototype Array对象 学习
2009/07/19 Javascript
jQuery html() in Firefox (uses .innerHTML) ignores DOM changes
2010/03/05 Javascript
一个可绑定数据源的jQuery数据表格插件
2010/07/17 Javascript
jQuery表格插件ParamQuery简单使用方法示例
2013/12/05 Javascript
jquery实现表单验证并阻止非法提交
2015/07/09 Javascript
JavaScript实现下拉列表框数据增加、删除、上下排序的方法
2015/08/11 Javascript
全面解析Bootstrap中transition、affix的使用方法
2016/05/30 Javascript
JS封装的选项卡TAB切换效果示例
2016/09/20 Javascript
原生JS实现获取及修改CSS样式的方法
2018/09/04 Javascript
jQuery实现简单飞机大战
2020/07/05 jQuery
微信小程序wx.getUserInfo授权获取用户信息(头像、昵称)的实现
2020/08/19 Javascript
python代码制作configure文件示例
2014/07/28 Python
Python selenium 三种等待方式详解(必会)
2016/09/15 Python
Python自动化导出zabbix数据并发邮件脚本
2019/08/16 Python
pandas to_excel 添加颜色操作
2020/07/14 Python
日本最大级玩偶手办购物:あみあみ Amiami
2018/04/23 全球购物
手工制作的音乐盒:Music Box Attic
2019/09/05 全球购物
分别介绍一下Session Bean和Entity Bean
2015/03/13 面试题
就业推荐表自我鉴定
2013/10/29 职场文书
学校食堂采购员岗位职责
2013/12/05 职场文书
关于赌博的检讨书
2014/01/08 职场文书
文明风采获奖感言
2014/02/18 职场文书
煤矿安全生产月活动总结
2014/07/05 职场文书
居委会个人对照检查材料思想汇报
2014/09/29 职场文书
政风行风评议个人心得体会
2014/10/29 职场文书
大学生学期个人总结
2015/02/12 职场文书
2016年妇联“6﹒26国际禁毒日”宣传活动总结
2016/04/05 职场文书
创业计划书之废品回收
2019/09/26 职场文书
导游词之镇江西津古渡
2019/11/06 职场文书
python实现求纯色彩图像的边框
2021/04/08 Python
golang 实现菜单树的生成方式
2021/04/28 Golang