random库20种函数介绍,作用于重现、整数、序列和实数

random库

学习资源: https://docs.python.org/3.7/library/random.html

random主要用于生成随机数,实现各种分布的伪随机数生成器。
在这里插入图片描述

1. Bookkeeping functions(可用于重现的函数)

1.1 random.seed(a=None,version=2)

将random产生的随机数固定,当a=None或缺失时,由系统任意生成,version=2可以忽略。

1.2 random.getstate()

获得当前的随机数产生模式,即random.seed()中的a值。

1.3 random.setstate(state)

state是random.getstate()得到的结果,将随机数产生模式固定为state对应的模式

import random

state = random.getstate() # 获得环境自动决定的产生随机数模式,保存为state
t1 = random.randrange(10) # 在当前模式下产生一个随机数

random.seed(19970509)  # 自己决定的产生随机数模式,a=19970509
t2 = random.randrange(10) # 在19970509模式下产生一个随机数

random.setstate(state) # 再次将模式调整为state
t3 = random.randrange(10) # 在state模式下生成一个随机数

print(t1)
print(t2)
print(t3)

运行结果中,你会发现,t1和t3的值始终相同并且变化,而t2的值永远恒定。

2. 可应用于整数的函数

2.1 random.randrange(stop)/random.randrange(start,stop[,step])

从限定的范围内返回一个随机整数值

import random

t1 = random.randrange(10) # 限定范围为0-10

t2 = random.randrange(1,20,5) # 限定范围为[1,6,11,16]

t3 = random.randrange(1,20) # 限定范围为1-20

print(t1)
print(t2)
print(t3)

3. 可应用于序列的函数

3.1 random.choice(seq)

从一个序列seq中返回一个随机元素,该seq不可空。否则会抛出IndexError异常

import random

seq1 = [1, 4.4, 45, 5, 78]
seq2 = ['第一', '三号', 'mingzhu', '人间失格']
seq3 = [1, 4, 5, '斜阳']

t1 = random.choice(seq1)

t2 = random.choice(seq2)

t3 = random.choice(seq3)

print(t1)
print(t2)
print(t3)
3.2 random.choices(population, weights=None, *,cum_weights=None, k=1)

从population中挑选出k个元素,作为列表返回,population不可为空,否则IndexError异常
weights表示权重;cum_weights表示累积权重。如果两个都不指定,则随机概率均等;如果要指定,则必须要和population元素数相同。注意,同时指定会抛出TypeError异常。

import random

population 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ALittleHigh

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值