import random
取随机小数
print(random.random()) # 0.09762665916858027
print(random.uniform(2, 3)) # 2 到 3 的小数 # 2.0384358034492815
取随机整数
print(random.randint(1, 2)) # 1 或 2
print(random.randrange(1, 2)) # 只取1
从一个列表中随机抽取
lst = [1, 2, 3, 4, 5, ('a', 'b'), 'cc', 'dd']
ret = random.choice(lst) # 选一个
print(ret) # 打印的结果是每个列表中元素取值的概率相等
ret = random.sample(lst, 3) # 选三个,形成一个列表
print(ret)
乱序
lst = [1, 2, 3, 4, 5, ('a', 'b'), 'cc', 'dd']
random.shuffle(lst) # 改变了原列表的顺序,可以节省内存
print(lst) # [4, ('a', 'b'), 'cc', 3, 5, 2, 'dd', 1]
验证码
6位数字验证码
print(random.randint(100000, 999999))
def get_code(n = 6):
code = ''
for i in range(n):
num = random.randint(0, 9)
code += str(num)
return code
ret1 = get_code()
ret2 = get_code(4)
print(ret1, ret2) # 234410 3381
请生成一个6位验证码(数字和字母)
字母怎么生成 chr(65) # 'A'
print(chr(65))
生成一个随机字母
65 - 90 :A - Z
num = random.randint(65, 90)
print(chr(num))
97 - 122 : a - z
num = random.randint(97, 122)
print(chr(num))
每一位上出现的内容既可以是数字,也可以是字母
随机生成一个数字,一个大写字母,一个小写字母
def get_code(n):
code = ''
for i in range(n):
num = str(random.randint(0, 9))
alpha_upper = chr(random.randint(65, 90))
alpha_lower = chr(random.randint(97, 122))
c = random.choice([num, alpha_upper, alpha_lower])
code += c
return code
ret = get_code(6)
print(ret)
6位数验证码(字母,数字)
第一种方法
def get_code(n=6, alph_flag=True):
code = ''
for i in range(n):
c = str(random.randint(0, 9))
if alph_flag:
alpha_upper = chr(random.randint(65 , 90))
alpha_lower = chr(random.randint(97, 122))
c = random.choice([c, alpha_upper, alpha_lower])
code += c
return code
ret = get_code()
print(ret)
第二种方法
def get_code(n=6):
li1 = [i for i in range(10)]
li2 = [chr(i) for i in range(65, 90)]
li3 = [chr(i) for i in range(97, 122)]
li = li1 + li2 + li3
code = ''
for i in range(6):
c = random.choice(li)
code += str(c)
return code
print(get_code())
随机数模块
猜你喜欢
转载自blog.csdn.net/weixin_42233629/article/details/82386548
今日推荐
周排行