一禅 发表于 2022-7-26 16:22:03

请问下面为啥没有重现生成过1、1、8、1、2的随机数,有uu 知道吗

import random

print(random.getstate())

random.randint(1,10)
1
random.randint(1,10)
1
random.randint(1,10)
8
random.randint(1,10)
1
random.randint(1,10)
2
random.setstate(random.getstate())
random.randint(1,10)
2
random.randint(1,10)
4
random.randint(1,10)
1
random.randint(1,10)
10

青出于蓝 发表于 2022-7-26 16:27:45

什么意思.....

临时号 发表于 2022-7-26 16:38:34

你第一次random.getstate()获取的种子与第二次random.getstate()获取的种子不一样
应将代码改成这样
import random

seed = random.getstate()
print(random.randint(1,10))
print(random.randint(1,10))
print(random.randint(1,10))
print(random.randint(1,10))
print("------------------")
random.setstate(seed)
print(random.randint(1,10))
print(random.randint(1,10))
print(random.randint(1,10))
print(random.randint(1,10))
页: [1]
查看完整版本: 请问下面为啥没有重现生成过1、1、8、1、2的随机数,有uu 知道吗