random模块

TOC

random模块

import random

# 随机获取整数里面的数
random.randint(1, 9)

# 默认获取0-1之间任意小数
random.random()

# 打乱可迭代对象里面的顺序
list1 = ['红桃A', '黑桃A', '红桃Q']
random.shuffle(list1)

# 随机取出可迭代对象中的一个值
list1 = ['红桃A', '黑桃A', '红桃Q']
random.choice(list1)

需求:随机验证码

  • 大小写字母、数字组合而成
  • chr() 将ASCII表中值转为对应的字符
  • random.choice
  • 可以指定长度获取字符验证码

ASCII表

import random


def auth_code(length):
    code = ''
    for i in range(length):
        # 通过ASCII表获取到小写a到z
        lower_str = chr(random.randint(97, 122))
        # 通过ASCII表获取到大写A到Z
        upper_str = chr(random.randint(65, 90))
        # 随机获取整数,并转为字符串,choice不支持整数类型
        number = str(random.randint(0, 9))
        # 将大小写字母和数字合并为一个整体列表
        auth_list = [lower_str, upper_str, number]
        # 随机从整体列表中选取一个数字
        auth_choice = random.choice(auth_list)
        # 选取的字符加入大的整体列表中
        code += auth_choice
    return code


auth_code(4)




原文地址:https://www.cnblogs.com/cnhyk/p/11890996.html