python内置的random库主要用于产生各种伪随机数序列,python random随机数

  python内置的random库主要用于产生各种伪随机数序列,python random随机数

  本文主要详细介绍Python伪随机数模块random。本文中的示例代码非常详细,具有一定的参考价值。感兴趣的朋友可以参考一下,希望能帮到你。

  

目录
随机模块random.seed常见整数随机函数、常见序列随机函数和常见实随机函数概述

  

random模块

  该模块实现了各种分布式伪随机数发生器。(包括计算实数轴上的均匀分布、正态分布(高斯分布)、对数正态分布、负指数分布、伽玛分布和贝塔分布的函数)此模块的伪随机生成器不应用于安全目的。出于安全或加密目的,请使用secrets模块。

  关于随机模块的更多细节,请参考官方文档Random-Generate Pseudo-Random Numbers。

  以下是该模块的一些常用功能。

  

random.seed

  random . seed(a=无,版本=2)

  初始化随机数生成器,如果A被省略或没有,则使用当前系统时间。如果操作系统提供随机源,使用它们而不是系统时间。当你的种子相同时,你从多次执行中得到的随机数序列是相同的。由于Mersenne Twister的完全确定性,由随机模块生成的随机数不适合用于加密目的。

  

常用整数随机函数

  random.randrange(停止)

  random.randrange(开始,停止[,步进])

  Range()返回在[开始,停止]范围内随机选择的元素。

  random.randint

  返回满足a=n=b的随机整数n。等效于randrange(a,b 1)。

  

常用序列随机函数

  随机选择(序列)

  从非空序列seq中返回一个随机元素。如果seq为空,则抛出IndexError。

  随机洗牌(x[,随机])

  对序列x进行随机置乱,(在原序列上做,不会产生新的序列。)

  可选参数random是在[0.0,1.0]中返回随机浮点数的函数;默认情况下,它是random.random()函数。

  random.sample(总体,k,*,计数=无)

  返回从整个序列或集合中选择的长度为K的唯一元素列表。用于无重复的随机采样。下面是一个抽奖的例子。

  3万人参与Python编程活动,然后有1000人入选奖励。其中,一等奖20名,二等奖30名,三等奖50名,四等奖200名,五等奖700名。

  上面的抽奖可以用下面的代码完成。

  res=random.sample(范围(1,30001),1000)

  打印(一等奖列表3360 ,RES [:20])

  打印(二等奖列表3360 ,RES [20:50])

  打印(三等奖列表3360 ,RES [50:100])

  打印(四等奖列表3360 ,RES [100:300])

  打印(五等奖列表3360 ,RES [300:])

  此外,如此产生的彩票结果也将是可控的。比如我们需要3号一等奖,33号二等奖,333号三等奖,代码如下:

  all_list=[x for x in range(1,30001) if x not in[3,33,333]]

  res=random.sample(all_list,997)

  #黑箱操作

  Res.insert (random.randint (0,10),3) #将第3名加入前10名

  Res.insert (random.randint (30,40),33)# Blend 33号介于30和40之间

  Res.insert (random.randint (70,90),333) # Dope 333介于70和90之间。

  打印(一等奖列表3360 ,RES [:20])

  打印(二等奖列表3360 ,RES [20:50])

  打印(三等奖列表3360 ,RES [50:100])

  打印(四等奖列表3360 ,RES [100:300])

  打印(五等奖列表3360 ,RES [300:])

  

常用实数随机函数

  随机. random()

  返回[0.0,1.0]范围内的下一个随机浮点数。

  随机均匀(a,b)

  返回一个随机浮点数N,其中a=b时a=N=b,b=N=a时b a. B是否在此范围内。取决于等式a (b-a) * random()中的浮点舍入结果。

  随机高斯(,)

  正态分布,也称为高斯分布。是平均值,而是标准偏差。这个函数比下面定义的normalvary()函数稍快。

  多线程注意事项:

  当两个线程同时调用此方法时,它们可能会获得相同的返回值。这可以通过三种方式避免。

  1)让每个线程使用随机数生成器的不同实例。

  2)锁定所有外线电话。

  3)改用速度较慢但线程安全的normalvary()函数。

  随机正态变量(mu,sigma)

  正态分布。是平均值,是标准偏差。

  

总结

  本文到此为止。希望能帮到你,也希望你能多关注更多热门IT软件开发工作室的内容!

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: