Python 随机数与随机数种子

1 Python随机数种子

  • 随机数本就是伪随机,通过设置随机数种子可以控制随机数生成的概率分布,来生成同一批随机数

  • 设置random.seed(a=seed)之后,生成的随机数均以此为参考,直到下一次指定种子

  • 指定相同的随机数种子,其生成的分布是一样的,因此生成的随机数也一样

import random
random.seed( 0 )
print("Random number with seed 10 : ", random.random())
#生成同一个随机数
random.seed(0)
print("Random number with seed 10 : ", random.random())
print("Random number with seed 10 : ", random.random())
print("Random number with seed 10 : ", random.random())
#生成同一个随机数
random.seed(0)
print("Random number with seed 10 : ", random.random())
print("Random number with seed 10 : ", random.random())
print("Random number with seed 10 : ", random.random())

>>>
Random number with seed 10 :  0.8444218515250481
Random number with seed 10 :  0.8444218515250481
Random number with seed 10 :  0.7579544029403025
Random number with seed 10 :  0.420571580830845
Random number with seed 10 :  0.8444218515250481
Random number with seed 10 :  0.7579544029403025
Random number with seed 10 :  0.420571580830845

2 以时间为种子传入

  • 为了使得生成的随机数更加随机,常常将现在的时间传入(假设程序运行在不同的时间段)

import random
import time


random.seed(time.time())
print("Random number with seed 10 : ", random.random())
time.sleep(1)
#生成同一个随机数
random.seed(time.time())
print("Random number with seed 10 : ", random.random())
print("Random number with seed 10 : ", random.random())
print("Random number with seed 10 : ", random.random())
#生成同一个随机数
time.sleep(1)
random.seed(time.time())
print("Random number with seed 10 : ", random.random())
print("Random number with seed 10 : ", random.random())
print("Random number with seed 10 : ", random.random())

>>>
Random number with seed 10 :  0.10666653496223455
Random number with seed 10 :  0.028745973254405865
Random number with seed 10 :  0.24315885642171398
Random number with seed 10 :  0.8006698841030404
Random number with seed 10 :  0.9481244549319926
Random number with seed 10 :  0.5943725484846565
Random number with seed 10 :  0.10751425686671945

reference: https://blog.csdn.net/weixin_43949943/article/details/89183899

  • 0
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值