Python 应用之激活码生成器
1. 问题的背景
假如你要为一个应用搞限时促销,生成激活码(或者优惠券),请用 Python 如何生成 200 个激活码(或者优惠券)。激活码的格式为 asqE-9xRK-lqWU-QkMT。
要求 1:使用随机生成时,生成数字概率为 1/5,大写字母和小写字母概率各为 2/5;
要求 2:200 个激活码。
2. 解题的思路
第一步: 由于有生成概率,所以需要使用 random 模块
第二步: 生成 200 个激活码,for 或者 while 循环
3. 解题的方法
方法一
第 1 行: 引入 random 随机模块
第 2 行: 创建函数 gen(x)用于为各个数字及字母设置出现概率,其中自变量 x 为 0-1 之间随即出现的浮点型小数
第 3-6 行: 当 x<=0.4 时,即出现概率为 4/10 即 0.4,随机选择大写字母中的一个
第 7-10 行: 当 0.4<x<=0.8 时,即出现概率为 4/10 即 0.4,随机选择小写字母中的一个
第 11-12 行: 其他情况下即 x>0.8 时,即出现概率为 2/10 即 0.2,随机选择一个数字
第 13 行: 创建函数 gen1()用于随机生成激活码
第 14 行: 由于一个激活码内 19 个元素,创建列表 a 并为其内部添加 19 个元素
第 15-16 行: for 循环运行 19 次,并为 x 赋值 0-1 的随机浮点型小数
第 17-18 行: 当循环次数不是 5 的倍数时,给 a 列表中的对应位置赋值 gen(x)函数生成的随机数字或字母
第 19-20 行: 当循环次数是 5 的倍数时,给 a 列表中的对应位置赋值激活码中的字符'-'
第 21 行: 将列表 a 返回给函数值
第 22 行: 循环 200 次
第 23 行: 输出 200 个激活吗,join 函数将列表中的各种元素连在一起
代码运行结果为:
方法二
显示结果为:
版权声明: 本文为 InfoQ 作者【向阳逐梦】的原创文章。
原文链接:【http://xie.infoq.cn/article/f0ef688b2e278ba30762bc0ff】。文章转载请联系作者。
评论