当前位置: 移动技术网 > IT编程>脚本编程>Python > Python3基础-代码阅读系列—优惠码生成

Python3基础-代码阅读系列—优惠码生成

2018年10月31日  | 移动技术网IT编程  | 我要评论

四川移动李华,西游降魔篇高清下载,神火团

代码展示

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次。

代码来源

github

如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复

相关文章:

验证码:
移动技术网