python的random模块(生成验证码)
random模块常用方法
random.random() #生成0到1之间的随机数,没有参数,float类型
random.randint(1, 3) #生成参数1到参数2之间的随机数,输出为int类型,[1,3]
random.randrange(1, 3) #生成参数1到参数2之间的随机数,输出为int类型,[1,3),这个方法还有一种用法,就是下面介绍的这种
random.randrange(0,100,2) #从指定范围内,按指定基数递增的集合中,获取一个一个随机数,这个例子指生成从0到100,每次增加2,然后随机获取一个数
random.choice([1, '23', [4, 5]] #在所有参数里面随机选择一个输出,参数可以为int类型,char类型,字典,数组
random.sample([1, '23', [4, 5]], 2) #在所有参数里面随机选择最后一个参数指定的个数输出,输出为列表类型`,参数可以为int类型,char类型,字典,数组,sample函数不会修改原有序列
random.uniform(1, 3) #生成参数1与参数2之间的随机数,输出为float类型 random.shuffle('lele','yiyi','tiantian') #用于将一个列表中的元素打乱
演示
random.random()
import random print(random.random()) 结果:
0.4566952165643644
random.randint(a, b)
import random print(random.randint(1, 3)) 结果:
1
random.randrange([start], stop[, step])
import random print(random.randrange(1, 3)) print(random.randrange(0,100,2)) 结果:
2
36
random.choice(sequence)
import random
print(random.choice([1, '23', [4,5],(1,2,3)])) 结果:
[4,5]
random.sample(sequence, k)
import random print(random.sample([1, '23', [4, 5]], 1)) 结果:
[1]
random.uniform(a, b)
import random print(random.uniform(1, 3)) 结果:
1.8144774769154086
random.shuffle(x[, random])
import random list=[1,29,3,9,3]
random.shuffle(list)
print(list) 结果: [3, 29, 9, 1, 3]
验证码
import random def v_code(): code = ''
for i in range(5): num=random.randint(0,9)
alf=chr(random.randint(65,90))
add=random.choice([num,alf])
code += str(add)
return code print(v_code())