random 模块

import random  # 抽奖,验证码,

随机:在某个范围内取到每一个值的概率是相同的
随机小数
print(random.random()) #0-1内的随机小数
print(random.uniform(1,5)) # 1-5范围内的随机小数

随机整数
print(random.randint(1,2)) #包含2随机取整
print(random.randrange(1,2)) #不包含2随机取整
print(random.randrange(1,10,2)) #[1,10) 不包含10,范围内随机取奇数

随机抽取
ls = [1,2,3,'hhjfh',('fdkakfd','fdsjkaf')]
lss = random.choice(ls) #随机抽取一个值
print(lss)
lst = random.sample(ls,2) #随机抽两个值
print(lst)
打乱顺序
lls = [1,2,3,'hhjfh',('fdkakfd','fdsjkaf')]
random.shuffle(lls)
print(lls)
随机验证码
code = ''
for i in range(4): #随机取四位数字
    num = random.randint(0,9)
    code += str(num)
print(code)
函数版
def yanzhengma(n=4):
    code = ''
    for i in range(n):  # 随机取四位数字
        num = random.randint(0, 9)
        code += str(num)
    return code

print(yanzhengma())
print(yanzhengma(6))
随机取6位,字母加数字
code = ''
for i in range(6):
    num = str(random.randint(0,9))
    alph = chr(random.randint(97,122))
    upper = chr(random.randint(65,90))
    he = random.choice([num,alph,upper])
    code += he

print(code)

函数版
def suiji(n=6):
    code = ''
    for i in range(n):
        num = str(random.randint(0, 9))
        alph = chr(random.randint(97, 122))
        upper = chr(random.randint(65, 90))
        he = random.choice([num, alph, upper])
        code += he
    return code

ret = suiji()
print(ret)
进阶版
def sui_ji(n=6, alph_flag=True):
    code = ''
    for i in range(n):
        num = str(random.randint(0, 9))
        if alph_flag:
            alph = chr(random.randint(97, 122))
            upper = chr(random.randint(65, 90))
            num = random.choice([num, alph, upper])
        code += num
    return code

ret = sui_ji(n=4,alph_flag=False) #取四位数字
ret = sui_ji() # 取六位数的字母加数字
print(ret)

 

posted @ 2020-04-23 15:54  w小伙  阅读(112)  评论(0)    收藏  举报