没有看书,凭借记忆来随便答一下。答错了就当开阔思路好了。
random 是怎样实现随机数的?
我凭借记忆来猜测一下random的实现,在指定好随机范围和随机数种子(seed)的情况下,生成的随机数序列应该是一样的。也就是说,你先调用一次random.seed(1),然后调用 10 次random.randint(1, 9)。得到一个数字序列 A。然后你重新设置随机数种子为 1,random.seed(1),然后再调用10次,random.randint(1, 9),又生成一个数字序列 B,不出意外的话,序列A和序列B的结果应该是一样的。
import random
random.seed(1)
print('数字序列A', end=' ')
for i in range(9):
print(random.randint(1, 9), end=' ')
# 重新设置随机数种子 为 1
random.seed(1)
print('数字序列B', end=' ')
for i in range(9):
print(random.randint(1, 9), end=' ')
# 数字序列A 3 2 5 2 8 8 8 7 4 数字序列B 3 2 5 2 8 8 8 7 4
那这样还算生成随机数吗?它在我的电脑上是这个结果, 在你的电脑上可能也是一个确定的结果. 在设置好随机数种子以后,使用 random 工具生成每一个数其实都是已经确定好的。于是,人们通常在产生一次随机数后就重新设置一次随机数种子,这样就能保证
本文发布于:2024-01-30 17:33:02,感谢您对本站的认可!
本文链接:https://www.4u4v.net/it/170660718521682.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
留言与评论(共有 0 条评论) |