小白白同学 发表于 2020-8-1 09:44:27

怎么修改随机数,哪位大神能告诉我

random.getstate是获取随机数,random.setstate是复制随机数,但怎么才能修改随机数呢?

永恒的蓝色梦想 发表于 2020-8-1 09:45:57

修改随机数是啥啊?

Twilight6 发表于 2020-8-1 09:49:07


有点没理解你的修改随机数的意思,看看下面是不是你想要的:

可以用 random 的 seed 函数来设置随机数种子,让随机数输出特定序号的值

import random

random.seed(5)
print(random.randint(1,10))
random.seed(5)
print(random.randint(1,10))
random.seed(1)
print(random.randint(1,10))
random.seed(1)
print(random.randint(1,10))

输出结果:
10
10
3
3

可以来甲鱼哥的文档看看:

random -- 生成伪随机数
https://fishc.com.cn/thread-145254-1-1.html
(出处: 鱼C论坛)


BIO-张磊 发表于 2020-8-1 10:24:19

估计就是生成的是伪随机数。就是系统按照设定生成的随机数字库,从里面有规律的提取固定数字,这个几乎没法解决,只能自己设置seed保证每次不一致。做法如三楼

小白白同学 发表于 2020-8-1 11:17:50

Twilight6 发表于 2020-8-1 09:49
有点没理解你的修改随机数的意思,看看下面是不是你想要的:

可以用 random 的 seed 函数来设置随机数 ...

假设之前的随机数是设定好的,怎么逆向修改之前设定好的随机数

Twilight6 发表于 2020-8-1 12:39:20

小白白同学 发表于 2020-8-1 11:17
假设之前的随机数是设定好的,怎么逆向修改之前设定好的随机数



random 随机数是通过一系列算法给每个将要被随机的元素排上种子(序号)的,你想逆向要去学习下这些算法吧

如果你只是单纯想设置一些随机数,可以用 choice

import random

temp = # 这里面我们设置将要随机的元素

print(random.choice(temp))
print(random.choice(temp))
print(random.choice(temp))
print(random.choice(temp))

小白白同学 发表于 2020-8-2 09:08:26

Twilight6 发表于 2020-8-1 12:39
random 随机数是通过一系列算法给每个将要被随机的元素排上种子(序号)的,你想逆向要去学习下这些 ...

谢谢你,亲,你所说的就是我想要的,再次谢谢你
页: [1]
查看完整版本: 怎么修改随机数,哪位大神能告诉我