005-做题:使用 Python 生成 200 个激活码
题目:使用 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
备注:例子还不完善,重复的激活码被删除后,没有补充进新的激活码,可能导致激活码数量不足200个
005-做题:使用 Python 生成 200 个激活码的更多相关文章
- Python 如何生成 200 个激活码
请用 Python 如何生成 200 个激活码. 激活码的格式为asqE-9xRK-lqWU-QkMT 要求1: 使用随机生成时,生成数字概率为1/5,大写字母和小写字母概率各为2/5 要求2: 这2 ...
- 做为 Apple Store App 独立开发者,你要搞限时促销,为你的应用生成激活码(或者优惠券),使用 Python 如何生成 200 个激活码(或者优惠券)?
import random import string def GenKey(length): chars = string.ascii_letters + string.digits return ...
- Python3.7 练习题(-) 如何使用Python生成200个优惠卷(激活码)
# 如何使用Python生成200个优惠卷(激活码) import random import string # string.ascii_letters 26个大小写 # -9数字 # 获得激活码中 ...
- 如何使用Python生成200个优惠券(激活码)
解析: 常见的优惠券(激活码)是由数字.字母(大小写)组成: string.ascii_letters 26个大小写字母: string.digits 0-9数字: 随机组合 使用random.s ...
- python生成可执行文件保护源码
工作中由于需要防止源代泄漏,需要将源代码隐藏,找到两种方法: 1.使用python生成的pyc文件. 这种方法的优点就是pyc文件生成很容易,缺点则是很容易通过工具得到源码,并且python版本不一致 ...
- 你只要5行代码,拥有你的个性二维码,用Python生成动态二维码
如果想了解更多关于python的应用,可以私信我,或者点击下方链接自行获取,里面到资料都是免费的(http://t.cn/A6Zvjdun) 二维码满天飞,但是有没有想过Python也能制作出专属于自 ...
- Python 生成个性二维码
1.1 实验内容 本课程通过调用MyQR接口来实现生成个人所需二维码,并可以设置二维码的大小.是否在现有图片的基础上生成.是否生成动态二维码. 本课程主要面向Python3初学者. 1.2 知识点 P ...
- PHP 生成唯一的激活码
<? php /** * 生成永远唯一的激活码 * @return string */ function create_guid($namespace = null) { static $gui ...
- python生成个性二维码学习笔记
在linux环境下进行编码 1.先进家目录,自行创建Code文件夹 cd Code 2.下载MyQR库 sudo pip3 install MyQR 3.下载所需资源文件并解压 Code/ $ wge ...
随机推荐
- Sherlock之Instructions指令介绍(Sherlock Version: 7.2.5.1 64-bit)
指令集总览 1.General 1).Comment:: 注释指令. 2).Image Window: 创建新的图像窗口. True: 取像之后更新图像窗口显示:False: ...
- Api接口文档管理工具,你知道哪些呢?
上周看到有人在我的Github开源项目中提了个issue,说是否考虑接入swagger.那今天我就用swagger与其他接口文档工具做对比,同时说说Api接口文档工具的那点事.如今,在前后端分离开发的 ...
- P2746 [USACO5.3]校园网Network of Schools tarjan 缩点
题意 给出一个有向图,A任务:求最少需要从几个点送入信息,使得信息可以通过有向图走遍每一个点B任务:求最少需要加入几条边,使得有向图是一个强联通分量 思路 任务A,比较好想,可以通过tarjan缩点, ...
- ACM-ICPC 2018 沈阳赛区(网络赛)
D.Made In Heaven One day in the jail, F·F invites Jolyne Kujo (JOJO in brief) to play tennis with he ...
- hdu 4734 F(x)(数位dp+优化)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4734 题意:我们定义十进制数x的权值为f(x) = a(n)*2^(n-1)+a(n-1)*2(n-2 ...
- mysql 主主从配置
配置主服务器:主服务器1 Ip: 192.168.0.1 主服务器2 Ip: 192.168.0.2 主服务器1配置 2.1.修改mysql配置文件 vim /etc/my.conf Server ...
- 创建最简单的exe形式COM组件并在MFC程序调用
来新公司学习接手新项目,拿到代码打开解决方案看到里面竟然有40几个工程,有点吃惊.具体看代码也有很多之前没见过的写法,上了几天火. 有件事就没太搞明白,按照文档的说法上层很多软件都要调用IO服务器,但 ...
- JavaScript数组方法速查,32个数组的常用方法和属性
JavaScript数组方法速查手册极简版 http://30ke.cn/doc/js-array-method JavaScript数组方法速查手册极简版中共收了32个数组的常用方法和属性,并根据方 ...
- 【Offer】[29] 【顺时针打印矩阵】
题目描述 思路分析 测试用例 Java代码 代码链接 题目描述 输入一个矩阵,按照从外向里以顺时针的顺序依次打印出每一个数字. 例如,如果输入如下矩阵:  则依次打印出数字1,2,3,4,8,12, ...
- 009 Python基本图形绘制
目录 一.概论 二.方法论 三.实践能力 一.概论 深入理解Python语言 实例2: Python蟒蛇绘制 模块1: turtle库的使用 turtle程序语法元素分析 二.方法论 Python语言 ...