random模块

一、随机小数:

import random
# 取随机小数:数学计算
a = random.random()  #取0-1之间的小数
print(a)
# 结果:0.3161428226776155
b = random.uniform(1,5) #取1-5之间的小数(参数可以修改)
print(b)
# 结果:4.019771354123451

 

二、随机整数:randint(x,y)、randrange(x,y)、randrange(x,y,z)

import random
# 取随机整数:彩票、抽奖
a = random.randint(1,9)  #[1-9]顾头顾尾
print(a)
b = random.randrange(1,9)  #[1-9) 取不到9,骨头不顾尾
print(b)
c = random.randrange(1,100,2) #[1-100)以内的数每两个取一个,最后一个参数是步长
print(c)

 

三、随机选择一个或多个返回:choice()、sample()

import random
# 从一个列表中随机抽取值:抽奖
lis = ['a','b','c',(1,2),123]
# 随机从列表中取一个值
print(random.choice(lis))  
# 随机从列表中取多个值,第二个参数可以修改
print(random.sample(lis,3))

 

四、打乱列表顺序:shuffle()

import random
# 打乱一个列表顺序,在原来的基础上直接进行修改。作用:节省内存空间
lis = ['a','b','c',(1,2),123]
random.shuffle(lis)
print(lis)
# 结果:['b', (1, 2), 123, 'a', 'c']

 

@验证码实例:

1、4位数验证码

import random
s = ''
for el in range(4):
    num = random.randint(0,9)
    s += str(num)
print(s)

2、6位数验证码

import random
s = ''
for el in range(6):
    num = random.randint(0,9)
    s += str(num)
print(s)

3、函数版本的6位或4验证码

import random
def code(n = 6):
    s = ''
    for el in range(n):
        num = random.randint(0,9)
        s  += str(num)
    return s
print(code())  #6位数的验证码
print(code(4))  #4位数的验证码

4、6位数+字母验证码

import random
s = ''
for el in range(6):
    #随机生成大小写字母和数字
    num = str(random.randint(0,9))
    alpha_upper = chr(random.randint(65,90))
    alpha_lower = chr(random.randint(97,122))
    res = random.choice([num,alpha_upper,alpha_lower])
    s += res
print(s)

5、函数版本的6或4位数+字母验证码

import random
def code(n=6):
    s = ''
    for el in range(n):
        num = str(random.randint(0,9))
        alpha_upper = chr(random.randint(65,90))
        alpha_lower = chr(random.randint(97,122))
        res = random.choice([num,alpha_upper,alpha_lower])
        s += res
    return s
print(code())   #6位的验证码
print(code(4))  #4位的验证码

6、函数进阶版的验证码

  4位数字验证码

  6位数字验证码

  6位数字+字母验证码

import random
def code(n=6,alpha=True):
    s = ''
    for el in range(n):
        num = str(random.randint(0,9))
        if alpha:
            alpha_upper = chr(random.randint(65,90))
            alpha_lower = chr(random.randint(97,122))
            num = random.choice([num,alpha_upper,alpha_lower])
        s += num
    return s
print(code(4,False))        #4位纯数字验证码
print(code(4))              #4位数字和字母验证码
print(code(alpha=False))    #6位纯数字验证码
print(code())               #6位数字和字母验证码

 7、生成随机验证码

import random
def code():
    s = ''
    for el in range(5):
        num = random.randint(0,9)
        alf = chr(random.randint(65,90))
        add = random.choice([num,alf])
        s = ''.join([s,str(add)])  #使用join()拼接数字和字符串
    return s
print(code())

 

posted @ 2018-08-20 14:52  LW-5208  阅读(125)  评论(0)    收藏  举报