内置模块之随机数模块——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))

浙公网安备 33010602011771号