20170512 Python练习册0001生成激活码

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了20170512 Python练习册0001生成激活码相关的知识,希望对你有一定的参考价值。

#!/usr/bin/env python
# -*-coding:utf-8-*-

# 第 0001 题:做为 Apple Store App 独立开发者,你要搞限时促销,为你的应用生成激活码(或者优惠券),
# 使用 Python 如何生成 200 个激活码(或者优惠券)?

import string
import random

Key_len = 20
Key_all = 200

def base_str():
return (string.ascii_letters + string.digits) #生成所有的字母和数字
def key_gen():
key_list = [random.choice(base_str()) for i in range(Key_len)]#随机选择上一个函数生成的字母和数字,生成一个长度为20的序列
return (‘‘.join(key_list))#合并序列里面的内容,不合并就是这样[‘f‘, ‘Z‘, ‘V‘, ‘V‘, ‘Z‘, ‘d‘, ‘n‘, ‘c‘, ‘1‘, ‘1‘, ‘i‘, ‘k‘, ‘b‘, ‘i‘, ‘G‘, ‘5‘, ‘d‘, ‘Z‘, ‘q‘, ‘L‘]
def key_num(num,result=None):
if result is None:#这一句估计就是用来创建一个空列表,删了这一句直接创建空列表也可以用,感觉没必要这么复杂
result = []
for i in range(num):
result.append(key_gen())#将key_gen()生成的激活码添加到这个空列表中,添加num个
return result
def print_key(num):
for i in key_num(num):
print(i)#打印出result中的每一个元素
if __name__==‘__main__‘:
print_key(Key_all)#调用函数

需要用到的知识有:转载自:https://blog.tanteng.me/2015/07/python3-ascii-letters/

本文介绍Python3中String模块ascii_letters和digits方法,其中ascii_letters是生成所有字母,从a-z和A-Z,digits是生成所有数字0-9.

示例如下:

生成所有字母和数字干什么?在哪个场景中会用到呢,举个例子:比如生成激活码(优惠券),激活码一般都是字母和数字组成的,首先要有一个所有字母和数字的字符串,然后随机取出几个字母或数字。

执行结果片段:

wz0dajI
25vlulV
zLHkx9Y
GGzu0Ip
RilbYKW
4WZL2IC
4syobYw
kCMky7O
oUPde55
KrMRmUX
Ct0W2Pm
wMwpPdk
ydPuy9h
Z7vo3r9
emcmQl0
GeIDKw3
PK9BLvg
z4xNdVb
I0EGA9O
YPUh5UA
69gISVt
Xun7GI3
YufPaD0
DsYZx2Q
3JfW1bh
ydHELg6
NxNMRBa
























































以上是关于20170512 Python练习册0001生成激活码的主要内容,如果未能解决你的问题,请参考以下文章

20170512

python小练0001

全国产品经理职位统计20170512

Python+vtk 实现激光点云数据可视化学习(2021.7.12)

基于全景图像与激光点云配准的彩色点云生成算法(2014年文章)

Python练习-列表生成器-2018.11.30