python中seed的使用

python中seed的使用

所有标准库提供的Random函数其实都是假Random。
所谓假Random,是指所返回的随机数字其实是一个稳定算法所得出的稳定结果序列,而不是真正意义上的随机序列。
如果一直调用标准库Random,那么在调用了N次以后,输出结果就会循环最开始的序列了。
也就是说,标准库Random所能生成的不同结果的个数也是有限的。
32位系统一般也就是几万次以后就会出现重复。
Seed就是这个算法开始计算的第一个值, 所以只要seed是一样的,那么后续所有“随机”结果和顺序也都是完全一致的。

random.seed( ) 用于指定生成随机数时所用算法的初始值。

1.如果使用相同的seed( )值,则每次生成的随机数都相同;

2.如果不设置这个值,则系统根据时间来自己选择这个值。此时每次生成的随机数因时间差异而不同。

3.设置的seed()值仅一次有效

import random
num=0
while(num<5):
    random.seed(5)
    print(random.random())
    num+=1

结果:
0.22199317108973948
0.22199317108973948
0.22199317108973948
0.22199317108973948
0.22199317108973948

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
import random
num=0
random.seed(5)
while(num<5):
    print(random.random())
    num+=1

结果:
0.22199317108973948
0.8707323061773764
0.20671915533942642
0.9186109079379216
0.48841118879482914

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
                                </div>
            <link href="https://csdnimg.cn/release/phoenix/mdeditor/markdown_views-60ecaf1f42.css" rel="stylesheet">
                            </div>
</article>
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值