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())
浙公网安备 33010602011771号