码迷,mamicode.com
首页 > 编程语言 > 详细

20170512 Python练习册0001生成激活码

时间:2017-05-12 09:36:48      阅读:174      评论:0      收藏:0      [点我收藏+]

标签:调用   随机   取出   str   not   nop   pup   blog   sla   

#!/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生成激活码

标签:调用   随机   取出   str   not   nop   pup   blog   sla   

原文地址:http://www.cnblogs.com/Jiang190/p/6843892.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!