【python】模块—随机模块—random模块
一、随机模块方法:
1.直接返回随机数
(1)返回0~1的随机数——random()
(2)返回a到b的随机整型,b能取——ranint(a, b)
(3)返回a到b的随机整型,b不能取——ranrange(a, b)
(4)返回a到b的随机浮点型——uniform(a, b)
import random ret1 = random.random() #返回0~1的随机数 ret2 = random.randint(1,3) #返回1到3的随机整型,3能取 ret3 = random.randrange(1,3) #返回1到3的随机整型,3不能取 ret4 = random.uniform(1,4) #返回1到4的随机浮点型 print(ret1, ret2, ret3, ret4) ''' 0.5929600412814828 3 1 2.465607548177685 '''
2.list列表中选取随机数
(1)随机返回列表list中的一个值——choice(list)
(2)随机返回包含列表list中的n个值的列表——sample(list, n)
import random my_list = [11,22,33,44,55] ret1 = random.choice(my_list) n = 1 ret2 = random.sample(my_list,n) print(ret1, ret2) #结果:22 [11] #注意:第二个返回的是一个列表
3.打乱列表次序(无返回值)——shuffle(list)
import random ret=[1,2,3,4,5] random.shuffle(ret) print(ret) #结果:[4, 1, 3, 5, 2]
二、随机模块应用——生成验证码函数
1.详细的过程
import random def v_code(n): # n代表需要生成验证码的位数 ret="" for i in range(n): num=random.randint(0,9) #获取0~9的随机整数 alf_buffer = random.randint(65,122) #获取65~122的随机整数 alf=chr(alf_buffer) #将其与ASCII对应,生成字母 my_code_buffer = [num,alf] #将生成的随机数与随机字母组成列表 my_code = random.choice(my_code_buffer) #随机选取数字或列表 s=str(my_code) #将结果转换成字符串 ret+=s #将当前结果添加到最终输出结果中 return ret print(v_code(5)) #调用函数 eV]8y
2.优化代码
import random def v_code(n): #验证码生成函数 ret="" for i in range(n): num=random.randint(0,9) alf=chr(random.randint(65,122)) s=str(random.choice([num,alf])) ret+=s return ret my_code = v_code(5) #调用函数
————————————————————结束 ————————————————————
浙公网安备 33010602011771号