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

需求分析:

  1. 激活码数量可调节,后续可追加
  2. 激活码长度可调节
  3. 激活码不可重复

代码编写:

#! /usr/bin/env python3
# Filename : generator.pyimport os,sys
import string,random#产生随机码的域
field = string.ascii_letters + string.digits     class generator(object):#激活码存储位置file_name = ''#激活码data = []#追加的激活码data_append = []#本次激活码需要数量need_num = 0#本次激活码生成数量cur_num = 0#激活码长度需求length = 0def __init__(self, length =16,need_num=100):self.length = lengthself.need_num = need_numself.file_name = os.getcwd() + os.sep + "generator.txt"#加载已经存在的激活码self.load()def load(self):try:with open(self.file_name,"r") as file:for line in file.readlines():self.data.append(line)except FileNotFoundError:if __name__ == "__main__":print("文件未找到,不需要加载")except:if __name__ == "__main__":print("加载失败{%s},重新生成=>"%sys.exc_info()[0])def generate(self):while self.cur_num < self.need_num:#生成一个随机码rand = self.__get_one() self.data_append.append(rand)self.cur_num +=1#追加self.data.append(self.data_append)with open(self.file_name,"a") as file:file.write("\n")file.writelines("\n".join(self.data_append))def generate_one(self):#生成一个随机码rand = self.__get_one() self.data.append(rand)with open(self.file_name,"a") as file:file.write("\n")file.write(rand)def __get_one(self):rand = ''.join(random.sample(field,self.length)) while(rand in self.data):rand = random.sample(field,self.length)if __name__ == "__main__":print("[激活码]=>%s"%(str(rand)))return randif __name__ == "__main__":generator = generator()#生成一定数量的激活码。默认100个generator.generate()#生成一个激活码generator.generate_one()

Python读书笔记-每日篇-20190219|激活码生成器相关推荐

  1. Python读书笔记-每日篇-20190222|激活码生成器(redis存储)

    问题描述: 做为 Apple Store App 独立开发者,你要搞限时促销,为你的应用生成激活码(或者优惠券),使用 Python 如何生成 200 个激活码(或者优惠券),并将生成的激活码保存到R ...

  2. Python读书笔记-每日篇-20190221|激活码生成器(mysql存储)

    问题描述: 做为 Apple Store App 独立开发者,你要搞限时促销,为你的应用生成激活码(或者优惠券),使用 Python 如何生成 200 个激活码(或者优惠券),并将生成的激活码保存到M ...

  3. Python读书笔记-基础篇-1.万丈高楼平地起

    随着人工智能领域的兴起,Python可以说集万千宠爱于一身,成了炽手可热的香饽饽.Python作为脚本语言,简单易上手,受到了很多编程爱好的喜爱. 编程语言是相通的,简单是一时的,任何语言的存在都有他 ...

  4. 《重构-改善既有代码设计》读书笔记-重构篇

    2019独角兽企业重金招聘Python工程师标准>>> 重构定义 名词 对软件内部结构的一种调整,目的是在不改变软件可观察行为的前提下,提高其可理解性,降低其修改成本.--<重 ...

  5. 与孩子一起学编程python_与孩子一起学编程(Python读书笔记3)

    第十一章 嵌套与可变循环 Python 3.X里 print()函数默认是自动换行的,所以本章代码会有很多问题,实际上 print()函数里有一个默认参数 end, 默认情况下: end= " ...

  6. 计算机英语读书笔记,大学英文读书笔记范文英语读书笔记十篇带翻译.doc

    大学英文读书笔记范文英语读书笔记十篇带翻译 My Room This is my room. Near the window there is a desk. I often do my homewo ...

  7. 读书笔记第一篇:知乎高赞回答

    自从今年以来,生活发生了极大变化,自己也进入了30大关,开始奔四了.最近总觉得自己一事无成,无论物质还是精神上都没有得到满足,而且自己一个游戏程序员,越来越觉得逐渐被淘汰.所以想到的第一个挣扎的办法, ...

  8. VCS user guide读书笔记启发篇

    文章目录 引言 1.Getting Started 2.VCS MX flow 2.1 分析过程 2.2 综合过程 2.3 仿真过程 引言 本文用于总结阅读VCS user guide后的读书笔记,具 ...

  9. 《软技能》读书笔记——生产力篇

    本篇介绍 本篇介绍的是提高生产力的软技能,首先告诉我们拥有专注的力量是快速提高生产力的必要基础,在培养专注力量的方式上介绍了"番茄工作法"(如果你知道或已经在用这个方法了,请继续坚 ...

最新文章

  1. python libusb多线程_一些有助于理解libusb1.0和ctypes的异步USB操作
  2. atitit.ajax bp dwr 3.的注解方式配置使用流程总结.....
  3. 获取打印的html代码怎么写,javascript如何输出?
  4. 设计模式-装饰模式(Decorator Pattern)
  5. 三维家可以导入别人的方案吗_Candel3D | 山地等高线看着费劲,不如试试三维设计...
  6. 数据结构——基于字符串模式匹配算法的病毒感染检测
  7. 使用HTML5实现刮刮卡效果
  8. 基于Mac环境搭建以太坊私有区块链进行挖矿模拟
  9. SQL SERVER 大小写敏感设置及排序规则详解
  10. 2004-8-23+ 我的小论坛
  11. python 获取运行文件的路径
  12. Android ListView 下拉刷新 上拉更多[实例]
  13. 搭建基于ASP.NET 2.0的DNN 4.X模块开发环境及模块实例(2)
  14. axure 8.0 注册码
  15. Cox回归+Cox比例风险回归模型
  16. Kotlin使用高阶函数实现多方法回调
  17. Web界面应用的测试内容
  18. 数据结构——树 | 孩子双亲数组表示法
  19. 数据结构-列出连通集(图的操作)
  20. 数据结构实验课:实验一、顺序表的实现及应用

热门文章

  1. POJ 1141 Brackets Sequence(动态规划)
  2. oracle一个区有几个块,Oracle段(segment) 区(extent) 块(block)
  3. 约翰·邓普顿的16条投资准则
  4. 空瓶换酒问题【一行代码】
  5. PKU 数据结构与算法——外排序
  6. 软件安全测评让数据泄露危害降到最低,如何选择软件测评机构
  7. Popov超稳定性在模型参考自适应(MRAS)中的应用
  8. 关于AWS使用(一)——申请付费版亚马逊云服务器的详细流程
  9. PHP和Redis实现在高并发下的抢购及秒杀功能示例详解
  10. SpringBoot:找不到或者无法加载主类 com.*.Application