Python3基础-代码阅读系列—优惠码生成
代码展示
```
import random
# 生成200组长度为8的优惠码,字典集是数字加字母
def generate_key(number=200, length=8):
char_set = "abcdefghijklmnopqrstuvwxyz0123456789"
result = ""
for i in range(0, number):
temp = ""
while(temp == ""):
for j in range(0, length):
temp = temp+char_set[random.randint(0, 35)]
# 判断新生成的优惠吗是否与之前的重复
if(result.find(temp) == -1):
result = result + "%d " % (i+1) + temp
else:
temp = ""
result = result+'\n'
return result
def file_write():
fp = open("result.txt", 'w')
fp.writelines(generate_key())
fp.close()
if name == 'main':
file_write()
<h1 style="background-color:#FF69B4; font-family:verdana; font-size:25px; text-align:center; font-weight:bold; color:white; ">知识点理解</h1>
## random库
`random.randint(0,35)`随机数中使包括0和35,或者其中的一个。
在python中的`random.randint(a, b)`用于生成一个指定范围内的整数。其中参数a是下限,参数b是上限,生成的随机数n: **a <= n <= b**
print(random.randint(12, 20)) #生成的随机数n: 12 <= n <= 20
print(random.randint(20, 20)) #结果永远是20
print(random.randint(20, 10)) #该语句是错误的。因为下限必须小于上限
## 字符串的find()方法
String.find(字串) 方法检测字符串中是否包含子字符串str,如果指定 beg(开始) 和 end(结束) 范围,则检查是否包含在指定范围内。
如果包含子字符串返回开始的**索引值**
如果不包含字串则返回-1
## 循环结构
**内循环**:
生成包含8个字符的字符串,并且不重复,保存在结果result中
**外循环**:
功能是将内循环操作200次。
<h1 style="background-color:#FF69B4; font-family:verdana; font-size:25px; text-align:center; font-weight:bold; color:white; ">代码来源</h1>
[github](https://github.com/brightyu/python/blob/master/ShaoyuanLi/0001/0001.py)
Python3基础-代码阅读系列—优惠码生成的更多相关文章
- Python3基础-代码阅读系列—素数
生成素数代码展示 质数(prime number)又称素数,有无限个. 质数定义为在大于1的自然数中,除了1和它本身以外不再有其他因数. primenumber = [] upperlimit = 2 ...
- Map工具系列-03-代码生成BySQl工具使用说明
所有cs端工具集成了一个工具面板 -打开(IE) Map工具系列-01-Map代码生成工具说明 Map工具系列-02-数据迁移工具使用说明 Map工具系列-03-代码生成BySQl工具使用说明 Map ...
- java 随机数 优惠码 生成 随机字串
package test; import java.util.HashSet; import java.util.Random; import java.util.Set; public class ...
- Python3基础-特别函数(map filter partial reduces sorted)实例学习
1. 装饰器 关于Python装饰器的讲解,网上一搜有很多资料,有些资料讲的很详细.因此,我不再详述,我会给出一些连接,帮助理解. 探究functools模块wraps装饰器的用途 案例1 impor ...
- 代码收藏系列--php--生成简短唯一订单号(转载)
代码收藏系列--php--生成简短唯一订单号 /** * 生成商家交易单号 * <br />特点:不重复 * <br />示例: * <br />普通付款:arra ...
- 代码收藏系列--php--生成简短唯一订单号
/** * 生成商家交易单号 * <br />特点:不重复 * <br />示例: * <br />普通付款:array('shop_id'=>1,'prod ...
- idea字节码插件JClassLib——阅读JVM字节码
idea字节码插件JClassLib--阅读JVM字节码 生成字节码文件并查看 查看字节码文件的方式:javac 文件名.java 即可生成.class文件,但是这种方式不方便 java:是运行字节码 ...
- Python3练习题系列(08)——代码阅读方法及字典跳转表理解
问题:分析下面代码 cities['_find'] = find_city city_found = cities['_find'](cities, state) 分析过程: 一个函数也可以作为一个变 ...
- [WebKit内核] JavaScript引擎深度解析--基础篇(一)字节码生成及语法树的构建详情分析
[WebKit内核] JavaScript引擎深度解析--基础篇(一)字节码生成及语法树的构建详情分析 标签: webkit内核JavaScriptCore 2015-03-26 23:26 2285 ...
随机推荐
- 第八周学习总结-C#、C++
2018年9月2日 今天是小学期开始第三天,本周前几天看了看C#和C++,用C#窗体做了个计算器,然后还用Scratch做了一个贪吃蛇的脚本. 31号小学期开始,到今天我把A类基本做完了.一开始做通讯 ...
- HDU 3336 Count the string(next数组运用)
Count the string Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) ...
- vetur插件提示 [vue-language-server] Elements in iteration expect to have 'v-bind:key' directives错误的解决办法
错误提示: [vue-language-server] Elements in iteration expect to have 'v-bind:key' directives.Renders the ...
- 一脸懵逼学习Struts数据校验以及数据回显,模型驱动,防止表单重复提交的应用。
1:Struts2表单数据校验: (1)前台校验,也称之为客户端校验,主要是通过Javascript编程的方式进行数据的验证. (2)后台校验,也称之为服务器校验,这里指的是使用Struts2通过xm ...
- 新的表格展示利器 Bootstrap Table Ⅰ
1.bootstrap table简介及特征 Bootstrap Table是国人开发的一款基于 Bootstrap 的 jQuery 表格插件,通过简单的设置,就可以拥有强大的单选.多选.排序.分 ...
- webpack学习笔记--配置plugins
Plugin Plugin 用于扩展 Webpack 功能,各种各样的 Plugin 几乎让 Webpack 可以做任何构建相关的事情. 配置 Plugin Plugin 的配置很简单, plugi ...
- 内存栈与堆的区别C#
C# 堆与栈 理解堆与栈对于理解.NET中的内存管理.垃圾回收.错误和异常.调试与日志有很大的帮助.垃圾回收的机制使程序员从复杂的内存管理中解脱出来,虽然绝大多数的C#程序并不需要程序员手动管理内存, ...
- bzoj4773: 负环
题解: 网上还有一种spfa+深度限制的算法 https://www.cnblogs.com/BearChild/p/6624302.html 是不加队列优化的spfa,我觉得复杂度上限是bellma ...
- Windows下Mongodb启动问题
把mongodb安装完,运行server出现问题
- Fatal NI connect error 6413的解决办法 http://www.itpub.net/thread-107518-1-1.html
在进行Oracle开发的时候,碰到了这样一个稀奇古怪的问题:每次连接数据库都不成功,并且在应用程序目录下的sqlnet.log中有这样的记录: Fatal NI connect error 6413, ...