Python3基础-代码阅读系列—优惠码生成
程序员文章站
2022-07-02 14:18:20
代码展示 知识点理解 random库 随机数中使包括0和35,或者其中的一个。 在python中的 用于生成一个指定范围内的整数。其中参数a是下限,参数b是上限,生成的随机数n: a 代码来源 "github" ......
代码展示
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()
知识点理解
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次。
代码来源
上一篇: 第十一天-函数进阶
下一篇: 站长运营地方论坛心得史借鉴篇