旗木稻草 发表于 2021-7-21 10:50:34

小白求助!random随机数状态函数的应用场景是什么?

本帖最后由 旗木稻草 于 2021-7-22 10:22 编辑

看了小甲鱼整理的random -- 生成伪随机数,对于随机数状态函数有些不太能理解,不知道随机数状态函数是如何应用的,应用场景是什么样子的?
我想进一步说明问题,random.getstate()和random.getstate()的应用场景是什么,我理解整数随机数生成,但是有关随机数状态函数不太理解
请教各位老师同学

Twilight6 发表于 2021-7-21 10:50:35

旗木稻草 发表于 2021-7-22 10:27
请问模仿随机情况是这样的吗?如下:
设置第一个随机情况1-10内的随机数,假如系统输出3、6、2
那么get ...



你要先获取生成器的状态,然后才能用 setstate 恢复到之前的生成器状态

from random import randint,getstate,setstate

x = getstate()         # 获取当前生成器内部状态
print(randint(1,100))    # 打印当前随机生成的值
setstate(x)            # 设置生成器为之前的某种状态,这里设置为 x 的时候的生成器状态
print(randint(1,100))    # 打印当前随机生成的值
setstate(x)                  
print(randint(1,100))    # 打印当前随机生成的值
setstate(x)
print(randint(1,100))    # 打印当前随机生成的值

输出结果(随机的相同四个数):

66
66
66
66

Twilight6 发表于 2021-7-21 11:22:35



应用场景可以是当用户需要创建随机数或者需要模仿随机情况呗,比如小甲鱼模仿投掷硬币的正反面概率

临时号 发表于 2021-7-21 14:07:10

应用在一些需要随机的邻域上,比如:手机上广告是随机的,使用的就是类似random的随机函数

暗夜之隐 发表于 2021-7-21 16:46:58

最常见是用于模拟操作,比如用selenium 就需要停留时间让网页加载 时间随机就越像正常人操作就不容易被网站方发现是爬虫

Daniel_Zhang 发表于 2021-7-21 17:05:20

班上有 60 个同学,老师想叫 5 个同学背诵课文

老师直接念数字会受到主观因素的影响,例如老师偏好某个或多个数字,造成每个学号的不均等几率的抽取;亦或是老师想抽取小刚,并且记得小刚的学号.

如果使用随机数的话,并不会存在这个问题

纳泽 发表于 2021-7-21 17:26:33

随机数的应用还是很广泛的,比如说通过random.randint()随机生成验证码,就很常用。

旗木稻草 发表于 2021-7-22 10:27:42

Twilight6 发表于 2021-7-21 11:22
应用场景可以是当用户需要创建随机数或者需要模仿随机情况呗,比如小甲鱼模仿投掷硬币的正反面概率

请问模仿随机情况是这样的吗?如下:
设置第一个随机情况1-10内的随机数,假如系统输出3、6、2
那么getstate第一个随机情况
第二个随机情况setstate获取第一个随机情况,系统也会输出3、6、2

这种模仿随机情况在哪些场景应用的比较多?

旗木稻草 发表于 2021-7-22 10:30:23

暗夜之隐 发表于 2021-7-21 16:46
最常见是用于模拟操作,比如用selenium 就需要停留时间让网页加载 时间随机就越像正常人操作就不容易被网站 ...

请问我是否可以理解为,使用random.getstate()获取用户的随机操作,然后使用random.setstate()来模拟操作吗

暗夜之隐 发表于 2021-7-22 14:06:10

旗木稻草 发表于 2021-7-22 10:30
请问我是否可以理解为,使用random.getstate()获取用户的随机操作,然后使用random.setstate()来模拟操作 ...

随机数用的地方很多 ,比如中奖,爬虫用得最多很多反爬的会检测的,如果你每次访问时间是不固定的那就越过网站这一检测规则
页: [1]
查看完整版本: 小白求助!random随机数状态函数的应用场景是什么?