小白求助!random随机数状态函数的应用场景是什么?
本帖最后由 旗木稻草 于 2021-7-22 10:22 编辑看了小甲鱼整理的random -- 生成伪随机数,对于随机数状态函数有些不太能理解,不知道随机数状态函数是如何应用的,应用场景是什么样子的?
我想进一步说明问题,random.getstate()和random.getstate()的应用场景是什么,我理解整数随机数生成,但是有关随机数状态函数不太理解
请教各位老师同学 旗木稻草 发表于 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
应用场景可以是当用户需要创建随机数或者需要模仿随机情况呗,比如小甲鱼模仿投掷硬币的正反面概率
应用在一些需要随机的邻域上,比如:手机上广告是随机的,使用的就是类似random的随机函数 最常见是用于模拟操作,比如用selenium 就需要停留时间让网页加载 时间随机就越像正常人操作就不容易被网站方发现是爬虫 班上有 60 个同学,老师想叫 5 个同学背诵课文
老师直接念数字会受到主观因素的影响,例如老师偏好某个或多个数字,造成每个学号的不均等几率的抽取;亦或是老师想抽取小刚,并且记得小刚的学号.
如果使用随机数的话,并不会存在这个问题 随机数的应用还是很广泛的,比如说通过random.randint()随机生成验证码,就很常用。 Twilight6 发表于 2021-7-21 11:22
应用场景可以是当用户需要创建随机数或者需要模仿随机情况呗,比如小甲鱼模仿投掷硬币的正反面概率
请问模仿随机情况是这样的吗?如下:
设置第一个随机情况1-10内的随机数,假如系统输出3、6、2
那么getstate第一个随机情况
第二个随机情况setstate获取第一个随机情况,系统也会输出3、6、2
这种模仿随机情况在哪些场景应用的比较多? 暗夜之隐 发表于 2021-7-21 16:46
最常见是用于模拟操作,比如用selenium 就需要停留时间让网页加载 时间随机就越像正常人操作就不容易被网站 ...
请问我是否可以理解为,使用random.getstate()获取用户的随机操作,然后使用random.setstate()来模拟操作吗 旗木稻草 发表于 2021-7-22 10:30
请问我是否可以理解为,使用random.getstate()获取用户的随机操作,然后使用random.setstate()来模拟操作 ...
随机数用的地方很多 ,比如中奖,爬虫用得最多很多反爬的会检测的,如果你每次访问时间是不固定的那就越过网站这一检测规则
页:
[1]