内置模块之随机数模块——random

内置模块之随机数模块——random

Python random 模块主要用于生成随机数。

要使用 random 函数必须先导入:

import random

这里整理几条常用的功能:

函数名 功能
random() 随机得到0到1之间的小数
uniform(a,b) 随机得到a到b之间的小数
randint(a,b) 随机得到a和b之间的整数(包含a和b)
randrange(a,b,step) 随机得到a和b间的整数,并设置步长
choice(迭代器) 随机获取迭代值,如列表的一个元素
choices(迭代器) 随机获取迭代值,如列表的一个元素,并组织为列表元素
sample(迭代器,n) 随机获取多个样本,并组织 成列表
shuffle(数据集) 随机打乱数据集

random()

import random
random.random()  # 随机0到1之间的小数

uniform(a,b)

random.random(1, 3)  # 随机1到3之间的小数

randint(a,b)

random.randint(1, 5)  # 随机1和5之间的整数

randrange(a,b,step)

# 比randint有更强大的功能
random.(1,10,2)  # 随机取1和10之间的奇数

choice(迭代器)

random.choice(['111', 2, [12, 21]]  # 从列表元素中随机取一个
# 2

choices(迭代器)

random.choices(('111', 2, [12, 21]))  # 从列表元素中随机取一个,并组织为列表
# ['111']

sample(迭代器,n)

random.sample(('111', 2, [12, 21]), 2)   # 随机获取多个样本,并组织 成列表
# [2, [12, 21]]

shuffle(数据集)

这个参数不能是迭代器啦。

import random
l1 = [i for i in range(10)]
random.shuffle(l1)  # 直接对原本的数据集做修改
print(l1)  # [4, 8, 6, 2, 9, 3, 7, 0, 5, 1]
产生网页随机验证码
import random


def random_code(n):
    code = []
    for _ in range(n):
        random_upper = chr(random.randint(65, 90))
        random_lower = chr(random.randint(97, 122))
        random_num = str(random.randint(0, 9))
        random_place = random.choice([random_num, random_lower, random_upper])
        code.append(random_place)
    return ''.join(code)


print(random_code(4))
posted @ 2022-10-19 18:13  leethon  阅读(153)  评论(0)    收藏  举报